4 ms·
If you need the stack space then there is no difference. The difference arises because if you preallocate all that stack space using worst case stack sizes and
by jjnoakes 4y ago
If you need the stack space then there is no difference. The difference arises because if you preallocate all that stack space using worst case stack sizes and don't use most of it, you've wasted lots of memory.
Also there is a ton of nuance here like overcommitted pages and large address spaces which mitigate some of those downsides.
- uluyol 4y agoExpect, Go doesn't do that. It grows stacks as you use them and shrinks them if you stop using so much. So the overhead should be limited. FWIW, heap allocations also come with memory overhead.
- jjnoakes 4y agoRight, yes, go does have some nice ways of handling this problem. I was speaking more generally about using that much stack space vs heap space for threads in general - but I should have realized that this specific thread was more about go, and perhaps my comment wasn't as useful in that context.