La IA acelera hasta un 70% las compilaciones incrementales del Kernel Linux
Hemos visto cómo la inteligencia artificial se mete donde no le llaman, pero esta vez lo hace para hacernos la vida más fácil a los desarrolladores. Lorenzo Stoakes, un veterano del kernel de Linux, decidió probar suerte con un modelo de lenguaje grande para encontrar esos puntos muertos que frenan la compilación. El resultado no fue oro puro; el código generado por la máquina era, según sus propias palabras, espantoso, pero tras una revisión humana exhaustiva, hemos obtenido una serie de 23 parches que prometen mucho. No se trata de que la IA sustituya al humano, sino de que actúe como un radar para detectar dónde se atasca el sistema. Las pruebas son contundentes: mientras que en una compilación completa de todos los módulos ganamos un 36% de velocidad, en las compilaciones incrementales, esas que hacemos cada dos por tres cuando estamos depurando, la mejora escala hasta un 70%. Eso sí, hay que tenerlo en cuenta porque aún falta pasar el filtro de revisión final antes de llegar al troncal.El problema principal que atacan estos parches es la paralelización. Aunque el proceso de construcción aprovecha varios núcleos, ciertas tareas siguen siendo de hilo único, creando cuellos de botella. Imaginad que tenéis una cuadrilla de obreros trabajando en una obra, pero uno de ellos tarda lo suyo en poner los cimientos y todos los demás tienen que esperar a que termine para seguir. Esas fases críticas afectan a componentes clave como Kbuild, kallsyms, modpost, objtool y mksysmap, además del nuevo sistema de compilación de Rust. La propuesta busca redistribuir esa carga para que más trabajo avance simultáneamente, eliminando esos tiempos muertos donde los recursos quedan ociosos esperando a que otra fase complete su tarea secuencial.Lorenzo no solo se fió de la IA; verificó manualmente tanto la corrección de las compilaciones como la estabilidad de los kernels en ejecución. Coordinó ejecuciones, pruebas y análisis, asegurándose de que el código generado tuviera sentido técnico. Esta optimización demuestra que mejorar pequeñas piezas conectadas puede ahorrar un tiempo considerable en el ciclo total de desarrollo. Para nosotros, que pasamos horas esperando a que compile todo, esto es música para los oídos. La herramienta ha servido para inspeccionar, encontrar esperas y sugerir modificaciones auditables, demostrando que la sinergia entre humano y máquina sigue siendo la fórmula más potente para avanzar en el mundo del software libre.
