Python 3.15’s interpreter for Windows x86-64 should hopefully be 15% faster
24 December 2025
Some time ago I posted an apology peice for Python’s tail caling results. I apologized for communicating performance results without noticing a compiler bug had occured.
I can proudly say today that I am partially retracting that apology, but only for two platforms—MacOs AArch64 (XCode Clang) and Windows x86-64 (MSVC).
In our own experiments, the tail calling interpreter for CPython was found to beat the computed goto interpreter by 5% on pyperformance on AArch64 macOS using XCode Clang, and roughly 15% on pyperformance on Windows on an experimental internal version of MSVC. The Windows build is against a switch-case interpreter, but this in theory shouldn’t matter too much, more on that in the next section.
This is of course, a hopefully accurate result. I tried to be more diligent here, but I am of course not infallible. However, I have found that sharing early and making a fool of myself often works well, as it has led to people catching bugs in my code, so I shall continue doing so :).
Also this assumes the change doesn’t get reverted later in Python 3.15’s development cycle.
Brief background on interpreters
Just a recap. There are two popular current ways of writing C-based interpreters.
Switch-cases:
... continue reading