<story><title>A Python Interpreter Written in Rust</title><url>https://github.com/RustPython/RustPython</url></story><parent_chain><item><author>hathawsh</author><text>This is wonderful. This could become the best way to move Python projects to Rust: initially just run on the RustPython interpreter, but then optimize low level routines in Rust. In 15 years I wouldn&amp;#x27;t be surprised if this or something like it surpasses CPython in popularity.&lt;p&gt;Still, no discussion about Python implementations is complete without some mention of the infamous GIL (global interpreter lock). :-) CPython has it, Pypy doesn&amp;#x27;t (I think) (EDIT: yes it does), Jython doesn&amp;#x27;t, etc. What is the GIL plan for RustPython?</text></item></parent_chain><comment><author>std_throwawayay</author><text>The GIL comes with great convenience as you don&amp;#x27;t have to worry about a whole host of data races. It&amp;#x27;s no silver bullet but it&amp;#x27;s mighty convenient if you only do some multi-threading like in a web-server.&lt;p&gt;Many libraries are not prepared for the disappearance of the GIL and while it&amp;#x27;s not a general problem for python per se it will be a great amount of work to make every library compatible with GILless python.&lt;p&gt;Therefore I think that you must always provide an option for the GIL that is enabled by default in order to provide backward compatibility.</text></comment>
<story><title>A Python Interpreter Written in Rust</title><url>https://github.com/RustPython/RustPython</url></story><parent_chain><item><author>hathawsh</author><text>This is wonderful. This could become the best way to move Python projects to Rust: initially just run on the RustPython interpreter, but then optimize low level routines in Rust. In 15 years I wouldn&amp;#x27;t be surprised if this or something like it surpasses CPython in popularity.&lt;p&gt;Still, no discussion about Python implementations is complete without some mention of the infamous GIL (global interpreter lock). :-) CPython has it, Pypy doesn&amp;#x27;t (I think) (EDIT: yes it does), Jython doesn&amp;#x27;t, etc. What is the GIL plan for RustPython?</text></item></parent_chain><comment><author>amelius</author><text>Writing a concurrent runtime system including garbage collector is a serious effort, and that&amp;#x27;s why all those other versions of Python don&amp;#x27;t support it and are stuck with a GIL. Hence, I highly doubt that this Rust version of Python has gotten rid of the GIL.&lt;p&gt;I&amp;#x27;d love to see a better separation of language and VMs. I think it&amp;#x27;s a bit sad that a language designer has to either implement their runtime system from scratch, or has to run it on top of a VM that was designed for another language (Java in the case of Jython).&lt;p&gt;Therefore, the thing I&amp;#x27;m looking forward to most is a concurrent, generic and portable VM written in Rust.</text></comment>