Hacker News new | ask | show | jobs
by saltminer 1097 days ago
> locking kills performance, and if you don't have GIL, you'll need to manage explicit locks

I was under the impression that the Python thread scheduler is dependent on the host OS (rather than being intelligent enough to magically schedule away race conditions, deadlocks, etc.), so you still need to manage locks, semaphores, etc. if you write multi-threaded Python code. I don't see how removing the GIL would make this any worse. (Maybe make it slightly harder to debug, but at that point it would be in-line with debugging multi-threaded Java/C/etc. code.)

Or would this affect single-threaded code somehow?

1 comments

In python you always have a lock, the GIL. If you take it away you end up actually having to do synchronization for real. Which is hard and error prone.