Una sola persona va a limpiar todo el código de Linux después de 30 años

La potencia de los ordenadores y la forma de trabajar de sus componentes ha cambiado significativamente en las últimas décadas. Linux fue creado a principio de los años 90, y acumula ya más de 30 años de desarrollo a sus espaldas. Todo ese bagaje se hace notar, y un desarrollador quiere «limpiar» todo el código del kernel de Linux para hacer que los sistemas basados en él trabajen más rápido.

El desarrollador, llamado Ingo Molnar, ha anunciado el proyecto «Fast Kernel Headers«. Con él, busca limpiar y reescribir la jerarquía de los encabezados del kernel de Linux y sus dependencias. En concreto, Linux contiene en torno a 10.000 archivos de encabezados .h con las jerarquías include/ y arch/*/include. Con el paso de los años, Molnar afirma que esto se ha convertido en un grave y complicado problema de dependencias cruzadas llamado «Dependency Hell«.

2.200 modificaciones de commits

¿Y cuál es la solución? Pues Molnar afirma que se han de hacer en torno a 2.200 modificaciones de commits en el código. En un primer vistazo, subestimó la cantidad de commits que había que modificar, ya que, tras analizarlo más a fondo, descubrió que el código es más enrevesado de lo que creía, algo normal dados los 30 años de desarrollo que tiene a sus espaldas.

Molnar lleva ya un tiempo trabajando en estos cambios, y afirma que el nuevo sistema de encabezados rápidos ha mejorado en torno a un 50 y un 80% el rendimiento a la hora de compilar el kernel en las arquitecturas soportadas y dependiendo de la configuración. Con esto, se mejora enormemente la eficiencia al compilar y el rendimiento general de los dispositivos que usan Linux.

Se modificará más de la mitad del kernel

Aunque ha identificado 25 subtrees y 2.200 commits que hay que modificar, Molnar reconoce que el proceso no podrá pararse ahí. Los cambios afectarán a prácticamente todos los programas de Linux. Por ello, calcula que este nuevo sistema provocará modificaciones en más de la mitad de los archivos fuentes del kernel que existen en la actualidad. En total, habría afectados 25.288 archivos, 178.024 inserciones y 74.720 eliminaciones.

A nivel de usuario, esto no mejoraría en principio la velocidad de uso del sistema operativo, pero sí que repercutiría en que los desarrolladores podrán compilar más rápido, haciendo más fácil y rápido el lanzar actualizaciones, parches y mejoras para los distintos sistemas operativos basados en Linux. Introducir esto en el código principal del kernel es algo que tardará meses, y seguro que no va a estar exento de problemas. Veremos qué opina Linus Torvalds al respecto.