A compilação do kernel em minha máquina antiga com um compilador c ++ proprietário resulta em aumento de desempenho?

0

Estou procurando algo que possa acelerar meu antigo laptop dos tempos de faculdade um pouco. Eu ouvi que posso recompilar o kernel para obter um pequeno aumento no desempenho em geral. Mas nesse laptop ainda há uma licença de estudante para um (agora eu acho que um pouco desatualizado) compilador Intel.

Não tenho certeza dos motivos, mas o compilador da Intel torna os executáveis mais visíveis do que a versão GNU (talvez eles usem extensões secretas nos processadores intel?). Gostaria de saber se compilar o kernel com esse compilador proprietário resultaria em um desempenho de velocidade mais perceptível.

Além disso, quais são outras partes críticas do sistema que eu posso compilar por mim mesmo para alcançar um desempenho melhor em geral?

    
por Mephisto 07.02.2018 / 08:38

1 resposta

3

Eu não posso falar pelos desenvolvedores do kernel Linux (também não há indicação de que é o kernel do Linux que você está falando, mas suponho que seja), mas no OpenBSD (que eu estou mais familiarizado) , mesmo mudar para uma nova versão do mesmo compilador não é algo que você gostaria de fazer "exatamente assim".

O kernel é um software intrincado e, ao desenvolvê-lo, testá-lo com uma cadeia de ferramentas específica é importante para garantir a operação correta.

Novas versões do compilador têm alterações (ou não seria uma nova versão), e essas alterações podem introduzir diferenças sutis no código compilado. Os desenvolvedores precisam ter certeza de que as diferenças introduzidas não causem mau funcionamento da parte mais central do software no sistema (o kernel).

Além disso, o código-fonte do kernel não é código C compatível com o padrão, e o kernel Linux usa (ou pelo menos usa) extensões presentes apenas na cadeia de ferramentas do GCC. Eu li que havia pelo menos problemas iniciais com a tentativa para compilá-lo com clang (agora o compilador padrão em muitos sistemas OpenBSD). Mudar para icc seria potencialmente um passo cada vez maior.

No OpenBSD, os usuários são mesmo desencorajados a compilar seus próprios kernels customizados, o que inclui mudar até mesmo os únicos flags do compilador do padrão, já que as falhas de depuração são muito mais difíceis quando componentes são adicionados ou removido do kernel genérico que tem o suporte dos desenvolvedores.

Em suma, eu recomendo que não tente compilar o kernel Linux com icc .

Se houver um aplicativo específico que seja lento para você, você pode obviamente tentar recompilá-lo com icc para ver se isso acelera. Minha experiência de compilar código fonte aberto com icc é que alguns aplicativos parecem ter sido escritos especificamente para os toolchains do compilador open source (já que é o que os desenvolvedores usam) e não conseguem compilar de forma limpa com os compiladores Intel.

Outras sugestões incluem atualizar o disco rígido para um mais rápido e / ou adicionar mais RAM ao sistema. Esse tipo de aprimoramento provavelmente proporcionará um aumento de desempenho mais geral do que recompilar com um compilador "melhor" , especialmente se os aplicativos usados forem de E / S (que se beneficiariam de um disco atualizado drive).

    
por 07.02.2018 / 08:53