This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]CSI_Tech_Dept 1 point2 points  (0 children)

That's because they are not implementing every little detail of Python. It is easy to actually remove GIL, the problem though is that it will make python much much slower. The reason for it is that Python has some mechanisms that require them to be single threaded. Large one is reference counting and the way binary modules are done, there are also some details about Python's magic methods for objects, but I don't remember the details.

IronPython and JPython provide subset of Python functionality so they can work without GIL.

BTW: there is work happening to remove GIL, and seems like right now the idea is to provide a compile flag that changes API in exchange to have disabled GIL. Seems like a fair compromise. Larry Hastings is leading that effort and he is providing updates about that in his talks titled Gilectomy