Article 70AB5 Cuni: Tracing JITs in the real world @ CPython Core Dev Sprint

Cuni: Tracing JITs in the real world @ CPython Core Dev Sprint

by
jake
from LWN.net on (#70AB5)
Longtime PyPy developer Antonio Cuni has alengthyblog post that describes his talk at the recently completed 2025CPythonCore Dev Sprint, held at Arm in Cambridge, UK. The talk, entitled"Tracing JIT and real world Python - aka: what we can learn from PyPy" wasmeant to try to pass on some of his experiences "optimizing existingcode for PyPy at a high-frequency trading firm" to thedevelopers working on the CPython JIT compiler. His goal wasto raise awareness of some of the problems he encountered:
Until now CPython's performance has been particularly predictable, there are well established "performance tricks" to make code faster, and generally speaking you can mostly reason about the speed of a given piece of code "locally".

Adding a JIT completely changes how we reason about performance of a given program, for two reasons:

  1. JITted code can be very fast if your code conforms to the heuristics applied by the JIT compiler, but unexpectedly slow(-ish) otherwise;
  2. the speed of a given piece of code might depend heavily on what happens elsewhere in the program, making it much harder to reason about performance locally.

The end result is that modifying a line of code can significantly impact seemingly unrelated code. This effect becomes more pronounced as the JIT becomes more sophisticated.

Cuni also gave a talk on Python performance, which LWN covered, atEuroPython 2025 in July.

External Content
Source RSS or Atom Feed
Feed Location http://lwn.net/headlines/rss
Feed Title LWN.net
Feed Link https://lwn.net/
Reply 0 comments