Aumento del Rendimiento de CPython: Una Historia de Giros Inesperados y Regresiones de LLVM

2025-03-10

Una fusión reciente de CPython introdujo una nueva implementación del intérprete de bytecode, mostrando inicialmente impresionantes mejoras de rendimiento del 10-15% en varios benchmarks. Sin embargo, esta mejora provino de la circunvalación inadvertida de una regresión de LLVM 19. Al compararse con una línea de base mejor (como GCC o LLVM 19 ajustado), el aumento de rendimiento real se reduce a solo 1-5%. Semanas de compilación, benchmarking y desensamblaje revelaron que las limitaciones de LLVM 19 en la duplicación de llamadas de cola causaron la regresión. Si bien el intérprete de llamadas de cola es una mejora valiosa, este incidente destaca los desafíos en el benchmarking, la ingeniería de rendimiento y la ingeniería de software, como la dificultad para elegir líneas de base y comprender las complejidades de las optimizaciones del compilador.

Desarrollo