4 ms·
> Maybe, but I'm not actually sure why. Mainly because stackless coroutines do not require separate stacks for each thread of execution. The default stack size
by blattimwind 8y ago
> Maybe, but I'm not actually sure why.
Mainly because stackless coroutines do not require separate stacks for each thread of execution. The default stack size in Linux is iirc 2 MB but grows as required, of course.
- akvadrako 8y agoThat's not a good reason. That is virtual address space, not physical memory, and processes have plenty of it, usually about 280TB.
- jnwatson 8y agoYou have a very small number of values that can stay in L2 cache on a 2 MiB boundary, 12 on Skylake. The data TLB is only 4 way. Modern high performance software is about cache management, and spreading your data across swaths of page-aligned memory without strong control of when you get scheduled out underutilizes that most precious resource on the CPU.