Desenvolvedor pode resolver sozinho problema de 30 anos do Linux

Desenvolvedor pode resolver sozinho problema de 30 anos do Linux

Por Alveni Lisboa | Editado por Douglas Ciriaco | 04 de Janeiro de 2022 às 16h10
Reprodução/Makeuseof

Um desenvolvedor sênior do Linux tem trabalhado sozinho para deixar a plataforma mais rápida e eficiente a partir da correção de uma falha crônica do sistema. Ingo Molnar criou o projeto Fast Kernel Headers, cujo objetivo é limpar e retrabalhar a hierarquia das dependências dos cabeçalhos do kernel do Linux.

Hoje, o coração do Linux tem cerca de 10 mil arquivos de cabeçalho (header) com hierarquias include/ e arch/*/include. Embora isso tenha sido eficiente no início da vida do sistema, hoje essa estrutura teria se transformado em um conjunto "complicado e doloroso" de dependências cruzadas — apelidada carinhosamente pelo desenvolvedor de "Dependency Hell" (ou Inferno da Dependência, em tradução livre).

Veja como o aproveitamento cresce no comparativo entre a v5.16-rc7 do kernel e a "fast headers" de Ingo Molnar (Imagem: Reprodução/Kernel.org)

Molnar acredita que essa limpeza resultaria na modificação de 2,2 mil commits no código-fonte do kernel. Um investigação conduzida por ele revelou que o sistema é muito mais pesado do que lá no começo, o que não chega a ser uma surpresa em razão da idade e constantes aprimoramentos.

Isso geralmente ocorre porque novos códigos surgem para adicionar funcionalidades extras e os antigos nem sempre são completamente deletados, tendo como resultado o inchamento do sistema e a lentidão. No caso dos headers em excesso, significa mais tempo para realização do cruzamento das dependências e isso impacta diretamente no desempenho das máquinas e no trabalho dos criadores de software.

Além das commits que seriam alteradas, as mudanças propostas pelo profissional devem afetar quase todos os programas Linux atuais, o que poderia estender o trabalho para muito mais do que as 25 subárvores e os 2,2 mil ajustes. Isso ocorreria porque a árvore fast-headers modifica mais da metade de todos os arquivos-fonte do kernel existentes, por isso haveria impacto generalizado na operacionalização do sistema.

Limpeza do kernel do Linux já dá resultado

O trabalho de Molnar começou solitário e hoje já começa a mostrar respostas positivas. Segundo o dev, a árvore de fast-headers apresentou um ganho de desempenho entre 50 e 80% na compilação do kernel em arquiteturas suportadas, a depender das configurações utilizadas. "Este é um grande passo à frente em termos de eficiência e desempenho de compilação do kernel Linux", explicou.

A estimativa final seria impacto em 25 mil arquivos, 178 mil inserções e 74 mil exclusões do código principal do Linux, o que faria do projeto de Molnar o maior anúncio de recurso único da história do Linux Kernel Mailing List — a listagem tradicional de e-mails na qual os desenvolvedores compartilham suas melhorias no kernel.

Na prática, todos esses ajustes devem impactar pouco na rotina do usuário final, já que a mudança é nas profundezas da estrutura de código. Os desenvolvedores Linux, contudo, conseguiriam compilar mais rápido do que atualmente, o que facilitaria o processo de criação, melhoria, correção e atualização do amado sistema operacional de código livre.

Fonte: Kernel.org  

Gostou dessa matéria?

Inscreva seu email no Canaltech para receber atualizações diárias com as últimas notícias do mundo da tecnologia.