1. Tail-Calling Interpreter Outperforms Traditional Loops by Resetting Compiler Heuristics
Users praise the tail-calling approach for enabling better inlining and register use in CPython's massive eval loop. "My main guess now is that tail calling resets compiler heuristics to sane levels, so that compilers can do their jobs." β Hendrikto. kenjin4096 notes maintainability via fallbacks: "If MSVC breaks the tail calling interpreter, we'll just go back to building... the switch-case interpreter."
2. Recent CPython Versions Show Substantial Speedups
Commenters highlight 25-45% gains over older versions, verified by benchmarks, closing the gap with PyPy. "3.14 is 35-45% faster than CPython 3.10 for pyperformance x86-64 Ubuntu" β kenjin4096. tom_ shares: "MacPorts python 3.13.11: 15.17s... System python 3.9.6: 26.80s."
3. Python's Slowness Stems from C ABI, Dynamism, and Historical Priorities
Opinions attribute limits to extension compatibility and excessive dynamism vs. JS. "The problem is basically that a simple JIT is not beneficial for Python... Or you have to tighten up the language and/or break the C ABI." β int_19h. "Pythonβs goal is never really to be fast... Guido prioritized code simplicity over speed." β kccqzy.