2 min

Python users have long complained about the mediocre performance of the CPython compiler. This is about to change, according to a presentation by Python father Guido van Rossum.

Van Rossum held his presentation during the Language Summit, which was held this week. In it, he says that with version 3.11 of the programming language, he will be able to double its speed. Van Rossum explains that he was sitting at home in retirement and got bored. So he decided to join Microsoft, where he was given the freedom to choose his own project. Then he decided to go back to his roots to improve Python.

Incremental improvements

With a small team, funded by Microsoft, Van Rossum made a fork of the CPython compiler. With the fork, the team wants to analyse the performance of the compiler and see if there are ways to improve it. Van Rossum wants to improve the performance of CPython with small incremental changes. All changes will of course be open source.

Badly needed

The performance improvements are badly needed. Under the guise of simplicity, little has been done over the years to improve the speed of CPython, but this has caused the performance to lag compared to other programming languages. Several third parties have already written their own compilers for the popular programming language, including Pyston, whose latest version should be 30 percent faster than CPython. Facebook is also working on improvements to CPython.

Optimisations

Van Rossum already sees some ways to improve the performance of CPython. His team is working on adjustments for the bytecode interpreter and several other optimizations. The team is not sure yet that they will actually be able to double the speed in version 3.11, but they are “optimistic and curious”. Version 3.11 of Python is expected to be released in the autumn of 2022.

Possible 5x improvements

Eventually, the team aims for further performance improvements beyond a doubling. Van Rossum even talks about a fivefold increase in performance. All these performance improvements should bring benefits to users running Python code that relies heavily on the processor, users of websites built in Python, and users of tools that use Python.

The work of Van Rossum and his team can be followed in a GitHub repository called faster-cpython.