Um dos grandes segredos (se não for o maior) do Gentoo Linux ser tão rápido é justamente a capacidade de ele poder ser otimizado especialmente para sua máquina, um Linux sob medida para sua máquina.
Isso é possível fazer mesmo sem usar o Gentoo! É um procedimento não muito complicado, na verdade é bem simples em relação ao impacto positivo que ele causa no desempenho do programa a ser compilado.
Esse recurso que o Gentoo usa se chama Flags. Traduzindo para o português, significa literalmente “bandeira”, ou seja, você mostra a “bandeira” do seu processador, e o compilador constrói o programa especialmente para ele!
Para encontrar as otimizações, você entra na página de Flags do Gentoo: http://gentoo-wiki.com/Safe_Cflags
Escolha o seu processador e copie as Flags dele (as três linhas, CHOST, CFLAGS e CXXFLAGS). Para cada processador existem três linhas com elas.
Copie para algum editor simples de texto, como o Kedit ou Gedit. Agora adicione a seguinte linha, abaixo das flags:
export CHOST CFLAGS CXXFLAGS
Essa linha grava na memória as variáveis criadas pelas Flags, assim o compilador poderá lê-las.Então, no meu caso, ficaria assim (no seu vai ser diferente, dependendo do seu processador):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
export CHOST CFLAGS CXXFLAGS
Ok, temos agora tudo pronto para a compilação. Sempre que você for compilar, você, antes do ./configure, cola essas linhas que fizemos com as Flags no terminal, e aí sim executa o clássico ./configure, make e make install. Vamos ver um exemplo:Estou compilando o AmaroK, por exemplo. Eu entro na pasta dele como se fosse compilar:
cd amarok-1.4.4
Então digito as Flags: CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
export CHOST CFLAGS CXXFLAGS
E então começo o trabalho de compilação:./configure
make
su
make install
Lembrando que você precisa fazer isso para cada programa que for compilar. Se você não souber o que é compilação, e quiser mais informação, você pode utilizar a pesquisa do fórum, ela costuma ajudar bastante!
Caso sua máquina tenha dois ou mais processadores, use o parâmetro -j(CPUs) para dividir o trabalho entre elas, reduzindo pela metade, 1/4, 1/8, dependendo do número de CPUs ou cores que você tiver. Ex: o meu Core 2 Duo (dual-core), eu faço assim:
./configure
make -j2
su
make install -j2
Algumas pessoas afirmam obterem melhores resultados usando no -j o dobro de processadores, no caso 4 para dual-core. Fica a seu critério. Não vai fazer mal no produto final, a única coisa que pode acontecer é a compilação demorar um pouco mais, caso você ponha um número errado .
Pronto!! Seu programa agora rodará otimizado para a sua máquina, resultando em menos consumo de processamento e maior velocidade!!! Bom divertimento!!!