5 ms·
While I do opt for better performance, this change particularly was a bit shocking to me, as in reality it broke the compatibility promise. Sure your stuff wil
by axaxs 13y ago
While I do opt for better performance, this change particularly was a bit shocking to me, as in reality it broke the compatibility promise. Sure your stuff will compile fine, but it also meant things that worked fine before now died. I'm not ultimately against the change, but just feel other changes that were more deserving were rejected on grounds this one indirectly violated...
- 4ad 13y agoNo, everything that worked before, still does (on 64-bit). A stack segment uses 8kB of virtual address space. It will only use a page (4kB) of physical memory if you don't need that much stack. The operating system will map the second page only when it faults. If you need more stack, the point is moot because you used more physical memory before as well, it was just split into more stack segments.
- voidlogic 13y ago+1 thanks for saying this. I am consistently amazed how many people on HN don't understand the difference between physical and virtual memory.
- axaxs 13y agoThat's fine for a single segment, but these are reused. So overtime, this can cause a spike in rss, see - https://groups.google.com/forum/#!msg/golang-nuts/hAWuOP5MY8w/v8p_OiOkzmQJ https://groups.google.com/forum/#!msg/golang-nuts/hAWuOP5MY8...