Linux perf reemplaza su scripting embebido por un módulo Python en C
El subsistema perf del kernel Linux recibe 49 parches que eliminan el Python y Perl embebidos y estrenan un módulo Python escrito en C. En una prueba, un script pasa de 3,7 a 0,1 segundos.
El ingeniero de Google Ian Rogers ha enviado una serie de 49 parches para el subsistema perf del kernel Linux. El objetivo es reemplazar el scripting embebido de Python y Perl por scripts Python independientes que usan un nuevo módulo perf escrito en C. La ganancia que se enseña en la propuesta es notable: un script que tardaba 3,7 segundos pasa a 0,1 segundos con el módulo nuevo.
La serie, publicada el sábado, no es un retoque menor. Rogers describe un cambio de unas 21.000 líneas de código para eliminar la dependencia de libpython y los scripts Python heredados. El módulo es una extensión C para Python, lo que evita el coste de arrancar el intérprete embebido y simplifica las dependencias de compilación. La propuesta está en revisión en la lista de correo de perf; se puede seguir en esta serie de parches.
Qué cambia para quien usa perf
Para quien trabaja con perf, el cambio toca una herramienta de diagnóstico que aparece cuando hay que medir rendimiento, analizar perfiles o cazar cuellos de botella en producción. El scripting es una parte menos popular que las métricas en vivo, pero muy usada para automatizar informes y procesar muestras. Hasta ahora, perf llevaba dentro Python y Perl; esa integración añadía sobrecarga, ataduras de compilación y una superficie de mantenimiento que arrastraba código heredado.
Con el nuevo módulo, los scripts de usuario pasan a ser programas Python normales que importan perf. Eso encaja mejor con el ecosistema actual: dependencias separadas, entornos virtuales si hacen falta y menos acoplamiento con el árbol del kernel. El precio es una migración: los scripts que dependían del intérprete embebido o de las viejas rutas tendrán que adaptarse. Los 49 parches también retiran el soporte libpython, así que no habrá dos caminos en paralelo si la serie se acepta tal cual.
Otro detalle llamativo: Rogers usó Gemini 3.1 Pro como asistente para esta reescritura. No es una nota de prensa de IA, sino una herramienta más en un cambio grande de C y Python. La cifra de rendimiento es la que da el propio autor en la propuesta, no una medición independiente.
El cambio aún no está en el kernel principal. Está enviado y en revisión, que es donde suelen aparecer los problemas de compatibilidad, los casos raros de compilación y las objeciones de los mantenedores. Si entra, perf dejará de ser un programa con Python incrustado para convertirse en una biblioteca que se llama desde fuera. Quien mantenga automatizaciones sobre perf debería mirar la serie antes de que le pille el próximo rebase.

