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.

image 5

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.


Newsletter Diolinux
Talvez Você Também Goste