4 ms·
OS overhead of 128 processes is higher than scheduling 128 tasks. Varies from os to os, but it's especially bad on Windows.
by jhoechtl 5y ago
OS overhead of 128 processes is higher than scheduling 128 tasks. Varies from os to os, but it's especially bad on Windows.
- turminal 5y agoYeah, I know about that argument but it just doesn't make sense to me. Removing the GIL means that 1) you make your language runtime more complex and 2) you make your app more complex. Is it truly worth it just to avoid some memory overhead? Or is there some other windows specific thing that I'm missing here?
- dragonwriter 5y ago> Yeah, I know about that argument but it just doesn't make sense to me. Removing the GIL means that 1) you make your language runtime more complex and 2) you make your app more complex. #2 need not be true; e.g., the approach proposed here is transparent to most Python code and even minimized impact on C extensions, still exposing the same GIL hook functions which C code would use in the same circumstances, though it has slightly different effect.
- lmm 5y agoIt doesn't have to be. On Linux 2.4 (pre-NPTL) processes and threads were represented exactly the same way.