Get the latest tech news
Performance of the Python 3.14 tail-call interpreter
A deep dive into the performance of Python 3.14's tail-call interpreter: How the performance results were confounded by an LLVM regression, the surprising complexity of compiling interpreter loops, and some reflections on performance work, software engineering, and optimizing compilers.
I became curious – and perhaps slightly obsessed – and the reports in this post are the result of a few weeks of off-and-on compiling and benchmarking and disassembly of dozens of different Python binaries, in an attempt to understand what I was seeing. These expectations are in tension, and we have a dearth of patterns and idioms to explain to the compiler “why” we wrote code in various ways, and whether we were deliberately trying to trigger a certain output, or make a certain performance-related decision, or not. In addition, Nix is incredibly extensible and customizable, but figuring out how to make a specific customization can be a real uphill battle, and involve a lot of trial and error and source-diving.
Or read this on Hacker News