Recentemente, Ingo Molnar, desenvolvedor do kernel Linux de longa data, postou um grande conjunto de patches, sendo 2.297 no total, que estão em desenvolvimento desde o final de 2020 e retrabalham completamente a hierarquia de arquivos de cabeçalho do kernel.
Acelerando a compilação do kernel Linux
O objetivo do projeto chamado “Fast Kernel Headers” ou “Cabeçalhos Rápidos do Kernel”, em tradução livre, é acelerar os tempos de compilação do kernel e também limpar um monte de coisas no processo para resolver o que os desenvolvedores chamam Dependency Hell ou “Inferno de Dependências”.
“As most kernel developers know, there’s around ~10,000 main .h headers in the Linux kernel, in the include/ and arch/*/include/ hierarchies. Over the last 30+ years they have grown into a complicated & painful set of cross-dependencies we are affectionately calling ‘Dependency Hell’.”
Ingo Molnar
Em uma tradução livre:
“Como a maioria dos desenvolvedores de kernel sabe, há cerca de aproximadamente 10.000 cabeçalhos .h principais no kernel do Linux, nas hierarquias include / e arch / * / include /. Nos últimos 30 anos, eles se tornaram um conjunto complicado e doloroso de dependências cruzadas que chamamos afetuosamente de ‘Inferno de Dependências’. “
Ingo Molnar
Uma melhoria de 50 a 80% no desempenho
Segundo os números de Molnar, pode haver até 78% mais compilação de kernel por hora com o “Fast Kernel Headers”. Uma melhoria de 50 a 80% no desempenho absoluto de compilação do kernel em arquiteturas suportadas. Este é um grande passo em termos de eficiência e desempenho de compilação do kernel Linux.
![Compilação do kernel Linux pode ficar até 80% mais rápida 2 image 5](https://diolinux.com.br/wp-content/uploads/2022/01/image-5.jpeg)
Outras mudanças importantes
A série de patches desacopla muitos cabeçalhos de alto nível de outros, desvinculando funções desnecessárias. Um desacoplamento do tipo e cabeçalhos de API, manipulação automatizada de dependências de arquivos de cabeçalho e uma variedade de outras mudanças.
Um dos maiores patches da história do kernel Linux
O projeto Fast Kernel Headers, é uma série de patches massiva e, provavelmente, o maior recurso único do kernel Linux por tamanho de código.
Esta enorme série de patches foi testada até agora nas arquiteturas x86 / x86_64, SPARC, MIPS e ARM64. Por enquanto, ela está sendo enviada inicialmente como um RFC (request for comments).
Para quem lida com compilação de kernel Linux, a possibilidade de uma compilação mais rápida é sempre bem-vinda.
Um abraço, meus amigos. Até a próxima.