Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why? I mean, what benefit does gil-lessness provide now that there is asynchronicity all over the place? Preemptive multithreading is a giant and endless source of bugs and most of the time you can just use some faster language if speed is truly what you need.


Years ago I wrote a rust program (pre 1.0) that linked to a python library that a co-worker wrote. We got deadlocks. Turns out we also were linking the system OpenSSL which internally uses python to deal with ca-certificates and the GIL was the culprit. So that's a why.


asynchronicity solves the problem only when your code is io-bound (that is, you're mostly doing network i/o or disk i/o).

If you're doing computation, you're still locked to a single thread by the GIL.

Yeah you can use multi-processing, but now you're paying the price of inter-process communication.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: