News for hackers. Stuff that matters.
Re:Python adopts a 12-month release cycle by masklinn on Friday November 01, 2019 @01:32PM (#21421480)
> I would argue the GIL is a feature put in place to make it easier to write parallel code.

It doesn't do that though. The GIL protects interpreter internals. It doesn't make Python code thread-safe, although it does make various operations atomic:

* native calls (which doesn't release the GIL) * individual bytecode instructions (which don't call into more python code)

The latter can make it seem like it magically protects your code, but even a simple method call is at least 3 instructions (LOAD_FAST, LOAD_METHOD and CALL_METHOD). Each instruction is atomic and the method call will be if it's a native call (e.g. dict.get) but that's it, the entire call itself is not atomic and you could thread-switch between LOAD_FAST and LOAD_METHOD, or LOAD_METHOD and CALL_METHOD.

Re:Python adopts a 12-month release cycle by dickeytk on Friday November 01, 2019 @01:38PM (#21421582)
You just explained a bunch of implementation details but at the end of the day my point remains: having the GIL makes it easier to write parallel code. I didn't say it magically makes everything threadsafe.
Re:Python adopts a 12-month release cycle by masklinn on Sunday November 03, 2019 @06:53AM (#21433353)
> having the GIL makes it easier to write parallel code.

It does not. What it does is create a bigger trap, because the code looks to be working in more testing situations, and will be more difficult to debug when it starts failing.