Python 3.15 reduce la sobrecarga del perfilado a 4.5x con doble despacho
Python 3.15's Ultra-Low Overhead Interpreter Profiling Mode – Ken Jin's Blog
Ken Jin, desarrollador de CPython, detalla una innovadora técnica de perfilado de intérpretes para el JIT de Python 3.15. En lugar de un segundo intérprete o un modo condicional, se emplean dos tablas de despacho intercambiables: una para ejecución normal y otra que enruta todas las instrucciones a una única instrucción de grabación. Esto permite registrar trazas con una sobrecarga mínima (solo 4.5x en un benchmark de juguete, frente a 900-1000x en sistemas como PyPy). El artículo explica el diseño, los resultados y las reflexiones sobre la complejidad añadida.
Esto esencialmente significa que perfilando el intérprete en CPython 3.15 es solo como máximo 4.5 veces más lento para nuestro benchmark de juguete.