De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Thiago Cesar Vieira
Data de Publicação: 05 de fevereiro de 2010
Você é daqueles que esbanja para seus amigos o poder de sua máquina, mas até agora ninguém acreditou?
Quer certificar se a compra de um processador quad-core valeu mesmo a pena?
Ou, se você é apenas curioso mesmo, então esse artigo é para você!
Na rede encontramos diversos benchmarks para Linux. Testei alguns e o BYTE UNIX Benchmarks foi o que mais me agradou. É free e fácil de usar, é pequeno (em tamanho em disco) e completo em testes, exibe resultados em formato amigável, tem uma boa documentação, já é uma ferramenta madura e seu desenvolvimento ainda é bem ativo.
O byte-unixbench roda um conjunto de testes para avaliar vários componentes do seus computador: processador, memória, disco rígido, placa de vídeo e como esse hardware todo se comunica através da placa-mãe.
O resultado é apresentado em formato HTML. Veja um exemplo em um dual-core.
Bom, mãos à obra. Muitas das informações que seguem abaixo extraí do arquivo README
.
O benchmark é disponibilizado no formato código fonte a fim de que criemos binários específicos para a sua plataforma e também para personalizar a forma que rodamos o benchmark.
Após baixá-lo, descompacte-o
$ tar xzvf unixbench-5.1.2.tar.gz unixbench-5.1.2/
Agora é necessário compilar para criar os binários. Caso você não queira executar testes gráficos, edite o Makefile
, comentando a linha "GRAPHIC_TESTS = defined
".
Após isso, dê o build.
$ cd unixbench-5.1.2/ && make
Os binários serão criados no diretório pgms/
.
Caso tenha dificuldades com os testes gráficos, veja a seção "Problemas em compilar os testes gráficos" no final desse artigo.
O byte-unixbench ainda não disponibiliza uma interface gráfica. Ele deve ser executado através do terminal.
Rode o script Run
para executar os testes de sistema: (aproximadamente 1h)
$ ./Run
Para rodar apenas testes gráficos: (aproximadamente 20min)
$ ./Run graphics
Para executar ambos os testes:
$ ./Run gindex
Os vários testes são executados em sequência.
Os resultados são disponibilizados na tela de console e no diretório results/
.
Lá encontramos 2 arquivos:
Perceba que no topo são exibidas algumas informações sobre o sistema: sistema operacional, kernel, arquitetura do processador e o(s) processador(es).
Logo a seguir vêm os resultados quando rodando apenas uma instância dos programas de testes, single thread. Acompanha também o resultado dos testes gráficos: 2D e 3D.
Por fim, caso seu processador seja multi-core, exibe os resultados rodando N instâncias (multiple threads), onde N é a quantidade de núcleos.
Além do próprio hardware testado, existem algumas configurações de software que podem interferir nos resultados de um teste de performance. São elas:
Da home-page do byte-unixbench:
Do be aware that this is a system benchmark, not a CPU, RAM or disk benchmark. The results will depend not only on your hardware, but on your operating system, libraries, and even compiler.
Tive alguns problemas ao criar os binários para rodar os testes gráficos.
Ao tentar compilar...
$ make ./src/ubgears.c:51:19: error: GL/gl.h: No such file or directory ./src/ubgears.c:52:20: error: GL/glx.h: No such file or directory ./src/ubgears.c:129: error: expected = , , , ; , asm or __attribute__ before view_rotx ... make: *** [pgms/ubgears] Error 1
Precisei instalar o pacote do OpenGL (biblioteca gráfica)
# apt-get install mesa-common-dev
Tentando novamente compilar...
$ make ... gcc -o ./pgms/ubgears -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/ubgears.c -lGL -lXext -lX11 /usr/bin/ld: cannot find -lGL collect2: ld returned 1 exit status make: *** [pgms/ubgears] Error 1
Agora não encontrou uma lib do OpenGL.
Checando minhas libs. Está faltando a libGL.so
(ela está lá, mas o mome não é o mesmo)
$ ls -l /usr/lib/libGL* ... lrwxrwxrwx 1 root root 12 2009-09-06 17:05 /usr/lib/libGL.so.1 -> libGL.so.1.2 -rw-r--r-- 1 root root 514648 2009-06-25 12:35 /usr/lib/libGL.so.1.2 ...
Criando o link
# ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so
Build novamente
$ make Checking distribution of files ./pgms exists ./src exists ./testdir exists ./tmp exists ./results exists gcc -o ./pgms/ubgears -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/ubgears.c -lGL -lXext -lX11 $ _
OK!!
Mas, todo esse trabalho não valeu a pena. O teste gráfico não é mais interessante que os testes de sistema.
gl.h
which will have their own extensions by installing nvidia-glx-dev
."
/usr/bin/ld:cannot find -IGL
means that there is a problem locating the OpenGL libs thats found in the /usr/lib
directory. These files (libGL.so
/libGL.so.1
) are actually symbolic links to the latest version of libGL (currently libGL.so.1.2
on my machine and also found in /usr/lib
)."
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários