Miguel Grinberg, author of several books on the Python frameworks SQLAlchemy and Flask, publishedperformance testing results of CPython branches from 3.9 to 3.14. Additionally, similar tests were carried out for Pypy 3.11 (Python implementation with a JIT compiler), Node.js 24 and Rust 1.90.
For the releases of CPython 3.13 and 3.14, performance was additionally measured when the JIT compiler was enabled and the Free-threading build mode without global blocking.
To change performance, scripts were used to calculate Fibonacci numbers (deep recursion) and bubble sort randomly generated numbers, run in single-threaded mode and with divided into 4 streams. The tests were run in Ubuntu 24.04 on a laptop with an Intel Core i5 CPU and macOS Sequoia on a laptop with an Apple M2 SoC.
In most tests, CPython 3.14 turned out to be faster than the 3.13 branch by about 20%, although in some tests the 3.11 and 3.12 branches were faster 3.13. The gap between 3.14 and branches 3.9 and 3.10 was approximately two times. Pypy, Node.js and Rust outperformed CPython 3.14 in the first test by 4.93, 4.88 and 69.82 times, and in the second test by 18.14, 6.64 and 36.15 times, respectively (only single-threaded modes were compared).




Mode without global blocking in CPython 3.14 allowed to double the speed of multi-threaded execution. Enabling the JIT mode in CPython did not lead to a significant increase in performance, and in the test of the 3.14 branch on macOS it even slowed down execution.


In single-threaded tests, the mode without global blocking is noticeable slowed down the execution of tasks, and the JIT mode had almost no effect on performance.

