A compilação de aplicativos a partir da fonte melhora a velocidade e/ou a RAM?

A compilação de aplicativos a partir da fonte melhora a velocidade e/ou a RAM?

Uso Linux há alguns meses e atualmente estou executando o Arch em um desktop antigo. Tenho ouvido ótimas coisas sobre compilar tudo a partir do código-fonte, por exemplo, que o Gentoo e outras distros semelhantes estão em alta velocidade. Nunca usei e não pretendo fazê-lo tão cedo. No entanto, posso querer acelerar minhas aplicações diárias. Também estou me perguntando se devo usar o GCC ou o compilador C da Intel. Normalmente uso no máximo 2 GB de RAM, mas tenho um processador antigo e lento. Devo compilar todos os meus aplicativos a partir do código-fonte ou continuar usando binários?

Obrigado!

Responder1

A resposta é sim. Visivelmente? Quase nunca.

Dependendo do hardware em que você irá executá-lo, a velocidade "poderá" ser melhorada, pois você poderá usar quaisquer otimizações que sua CPU oferecer. Mas observe que na maioria das vezes uma aplicação usa apenas bibliotecas, então para aproveitar isso você deve usar o Gentoo completo, por exemplo.

Vale a pena o esforço? Provavelmente não, a menos que você esteja rodando em um hardware muito antigo, ou esteja fazendo algum processamento sério de números ou algo que seja executado tantas vezes por segundo, cada instrução conta.

O hardware atual fica basicamente ocioso na maior parte do tempo, e isso é um fato que permite coisas como SETI@home, Folding@home, Great Mersenne Prime Search, ...

Em hardware mais antigo, a configuração pode ajudar mais do que a recompilação (que vem com seu próprio conjunto de problemas, como capacidade de manutenção, correções de segurança e rastreamento de dependências).

Por exemplo, configurar o Firefox para usar apenas um ou dois processos de conteúdo paralelos ajuda muito em sistemas com pouca memória. Se a CPU for o seu problema, você pode desabilitar ou executar manualmente determinados serviços ou tarefas em segundo plano. O Tumblerd pode facilmente matar um computador antigo, assim como o Updateb.

Sempre no lado da configuração, você pode recompilar para desabilitar bibliotecas/serviços desnecessários ou ajustar outros campos. Por exemplo, construindo o libreoffice com --disable-pdfimport. Nesse caso geral, ainda seria melhor baixar os pacotes fonte usados ​​em seu sistema (não o upstream) e ajustá-los. Não há muito a ganhar, mas muito a aprender.

Observe também que a velocidade de um aplicativo pode, em alguns casos, ser limitada pela velocidade de E/S do disco ou da rede. Nestes casos, não se pode esperar que compilar o software a partir do código-fonte melhore o desempenho.

informação relacionada