CPython 3.15: Neues Profiling-Verfahren für den JIT-Compiler mit minimalem Overhead

Python 3.15's Ultra-Low Overhead Interpreter Profiling Mode – Ken Jin's Blog

CPython 3.15: Neues Profiling-Verfahren für den JIT-Compiler mit minimalem Overhead

Ken Jin beschreibt in seinem Blog eine neuartige Methode zum Profiling des Interpreters in CPython 3.15, die für die JIT-Kompilierung eingesetzt wird. Statt zwei getrennte Interpreter zu verwenden oder eine Profiling-Logik mit bedingten Verzweigungen einzubauen, nutzt der Ansatz zwei Dispatch-Tabellen, die zur Laufzeit einfach ausgetauscht werden. Dadurch wird der Overhead im Vergleich zu anderen Tracing-Systemen wie PyPy drastisch reduziert: Während PyPy beim Tracing eine Verlangsamung um das 900- bis 1000-fache erleidet, beträgt der Overhead in CPython nur etwa das 4,5-fache. Der Beitrag erläutert die technischen Details und diskutiert die Komplexität des Systems.

Ich bin ziemlich stolz darauf, was wir uns für den Profiling-Interpreter ausgedacht haben.

Mehr von diesem Tag

2026-07-21