4 ms·
is it GIL-free? Web servers are multi-core. Any fork of python should serve requests on all cores like golang and its scheduler does using goroutines.
by sreeramb93 5y ago
is it GIL-free? Web servers are multi-core. Any fork of python should serve requests on all cores like golang and its scheduler does using goroutines.
- globular-toast 5y agoYou can easily do that by simply running N instances and distributing requests among them. No need for all the complication that would come with removing the GIL.
- klibertp 5y agoAnd pay in memory for that luxury: when using lots of complex libraries (like in ML) the Python process can eat quite a lot of RAM.
- globular-toast 5y agoYes. Python is not without tradeoffs.
- viraptor 5y agoSince gc.freeze() got implemented (https://docs.python.org/3/library/gc.html#gc.freeze https://docs.python.org/3/library/gc.html#gc.freeze) having forked workers has much lower cost these days. As long as you can load your data pre-fork that is.
- klibertp 5y agoWow, I missed its introduction. Nice. On a cursory glance Celery doesn't make use of it yet, unfortunately.