Python is a popular programming language that has recently grown due to its simplicity, cheap learning cost, and simple syntax. Moreover, Python’s standard library includes a vast collection of modules, making it an attractive choice for developers worldwide. However, one of Python’s significant drawbacks has been its inferior execution speed compared to low-level languages like C/C++ and Rust.
However, things are about to change as researchers at MIT have developed a new Python compiler called Codon that converts Python code into native machine code, eliminating Python’s runtime performance degradation.
Codon is a high-performance Python compiler that compiles Python code to native machine code with no runtime overhead. This means that the typical speedups over Python are 10-100x or more for a single thread. Codon’s performance is usually on par with (sometimes better than) C/C++.
Unlike Python, Codon has native multithreading support, which can speed up things repeatedly. The Codon compiler was born from the Seq project, a DSL for bioinformatics and genetics. Codon began as a framework for developing high-performance domain-specific languages in Python.
Codon implements most of the Python language but not all. Some Python modules are not built into Codon. Additionally, it leaves out features that make code harder to analyze and optimize, such as dynamic type manipulation and runtime reflection. You can rely on a statically typed compiler engine to generate faster code and other innovative technologies, such as the more optimizable and flexible Intermediate Representation (IR).
The paper’s authors claim that Codon can output native machine code without the overhead of Python execution, allowing Python scripts to achieve near-C performance.
Moreover, Codon is not bound to execution, and as a result, it can achieve better performance and overcome runtime-specific issues like global interpreter locks. This makes Codon an ideal choice for applications bounded by performance deficits.
However, Codon is not perfect. Those that rely on external libraries like Django or DocUtils must rely on the CPython bridge and are limited by CPython’s performance. Despite this, Codon is already being used commercially in sectors ranging from quantitative finance and bioinformatics to deep learning. Codon developers are expected to implement the missing Python features in the coming months, further enhancing its capabilities.
In conclusion, Codon is a groundbreaking development for Python developers who need a faster and more efficient way to write high-performance applications. With Codon, Python scripts can achieve near-C performance without sacrificing the language’s simplicity and ease of use. Therefore, Codon will likely be embraced by Python developers worldwide, leading to an even greater language adoption.