Alguns dias atrás eu resolvi reformar meu velho Athlon T-Bird 950 para atender algumas necessidades pessoais. Basicamente a eu precisava de um servidor pessoal de arquivos. Queria aproveita-la, também, como uma máquina secundária de desenvolvimento. Uma máquina aonde eu pudesse portar meu projeto Open Source para o Linux. Infelizmente aquela máquina já estava “arriando as pernas”, por assim dizer, então resolvi vender algumas peças (mobo + cpu + memória ram) e trocar por um kit Amd Sempron 3000+.
Como notei que a instalação do Gentoo Linux foi bastante rápida eu resolvi ver como ela se comportava fazendo algo de útil para mim, no caso, quanto tempo ela demorava pra compilar a versão atual, em desenvolvimento, da NUS Framework. Como a base de código da NUS é bastante pequena (em torno 18 mil linhas de código) a compilação é bem rápida e fazer os testes não deveria demorar muito.
Como base pra comparação resolvi utilizar o meu laptop Intel Core Duo. Todavia, é a comparação não é exatamente justa:
- O sistema operacional é diferente
- A versão do compilador utilizado é diferente em ambos
- O sempron não estava rodando o servidor X, fazendo com que a carga sobre ele seja ainda menor.
- O MacBook estava rodando sua interface gráfica normalmente, inclusive com alguns terminais abertos conectados a Venus.
Ainda assim, achei interessante publicar. Vamos as configurações de cada máquina:
MacBook:
CPU: Intel Core Duo 1.83Ghz
RAM: 512Mb DDR2
SO: Mac OS X “Tiger” 10.4.10
Compilador: gcc 4.0.1
Venus:
CPU: AMD Sempron 3000+
RAM: 512 Mb DDR2
SO: Gentoo Linux 2007.1 (kernel 2.6.22.1)
Compilador: gcc 4.1.1
Make (sem jobs em paralelo):
Macbook real 0m13.038s user 0m8.490s sys 0m3.963s Venus real 0m12.194s user 0m10.892s sys 0m1.274s
Oops, ainda que a os testes estivessem injustos para com o MacBook, confesso que não esperava isso. Quem já utilizou o Mac OS X sabe que existe uma quantidade considerável de programas rodando em background. Quando comparada com uma instalação limpa do Gentoo essa quantidade de programas é ainda mais relevante.
Make (2 jobs em paralelo)
make -j2 MacBook real 0m8.500s user 0m8.745s sys 0m4.304s Venus real 0m12.245s user 0m10.891s sys 0m1.321s
Quando colocamos 2 jobs em paralelo o Intel Core Duo mostra sua força reduzindo o tempo de compilação em mais de 4 segundos. Isoladamente a redução de 4 segundos pode não parecer muito, mas é uma redução em torno de 40%.