Talvez haja alguns problemas de compatibilidade?
Tenho a impressão de que, para sistemas baseados em Intel, o compilador Intel poderia fazer um trabalho melhor que o GCC. Talvez já exista uma distro que tenha tentado isso?
Eu acho que isso pode ser bastante simples usando o Gentoo.
Respostas:
Você não poderá compilar tudo com o icc. Muitos programas por aí usam extensões GCC para o idioma C. No entanto, a Intel fez um grande esforço para suportar a maioria dessas extensões; por exemplo, versões recentes do icc podem compilar o kernel do Linux.
O Gentoo é de fato sua melhor aposta se você gosta de recompilar seu software de uma maneira incomum. A página icc no wiki do Gentoo descreve os principais obstáculos.
Primeiro faça uma instalação básica do Gentoo, e
emerge icc
. Não remova o icc mais tarde, desde que você tenha qualquer binário compilado com o icc no seu sistema. Observe que o icc está instalado no/opt
; se isso não estiver em sua partição raiz, você precisará copiar as bibliotecas icc para sua partição raiz se algum dos programas usados no momento da inicialização for compilado com o icc.Configure
/etc/portage/bashrc
e declare suas opções de compilação favoritas; veja o wiki do Gentoo para um script mais completo que suporta a construção de pacotes diferentes com diferentes compiladores (isso é necessário porque o icc quebra alguns pacotes).fonte
Certamente seria uma experiência interessante. No entanto, recompilar uma distribuição Linux inteira usando um compilador alternativo não seria realmente simples. Muitos pacotes essenciais dependem do GCC e de outros utilitários da cadeia de ferramentas GNU.
Seria viável usar um compilador alternativo para os pacotes que não exigem que o GCC crie um híbrido. Pode ser possível substituir pacotes dependentes do GCC por outros que seriam criados com seu compilador, mas na maioria dos casos não há muitas alternativas. Onde houver, você precisará determinar se essas alternativas serão tão funcionais para o uso pretendido.
A verdadeira questão é: valeria a pena? Se você estiver tentando criar um sistema incorporado, um compilador alternativo poderá produzir binários menores. Se você estiver criando um cluster de computação, poderá obter uma execução mais rápida do código. Se você estiver criando uma área de trabalho, terá uma ótima experiência de aprendizado.
Eu acho que, no final (assumindo que você está construindo um desktop), você descobrirá o que muitos usuários de distribuição de origem decidem: a quantidade de tempo gasto otimizando, construindo e reconstruindo supera em muito o tempo economizado pela execução mais rápida do código. Isso não quer dizer que não deva ser feito - pode ser bem divertido. Se você fizer isso, este site seria um ótimo lugar para encontrar respostas e documentar seus esforços.
fonte