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: Fabio Maximo
Data de Publicação: 30 de Setembro de 2005
Uma forma interessante de se comparar o desempenho em maquinas semelhantes é atravez da execução de tarefas iguais.
Muitas são as variaveis que influem no tempo de execução de uma tarefa, e a verdade é que nada se compara a um bom benchmarking, mas um parametro de comparação pode ajudar as vezes. A pesar de nao servir como medida real de desempenho, uma forma curiosa de testar sua maquina é fazer com que ela calcule o numero do Pi. O NUmero Pi - relação entre raio e perimetro da circunferencia - é um numero infinito e não é uma dizima periodica.
Antes de mais nada, como se tratam de formas diferentes de calculo, algoritimos diferentes (quem sabera, o superpi nao é FreeSoftware), bibliotecas diferentes, nao ha sentido algum em se comparar o desempenho de uma maquina windows com uma linux com este metodo.
Mas vamos la.
Se voce tomou a pilula azul, tera que baixar um SW. Acho que o programa SuperPI servira. O SuperPI teve origem em agosto de 1995, quando foi realizado o calculo do pi com 4.294.960.000 casas decimais usando um supercomputador na Universidade de Tokyo. O programa escrito por D.Takahashi e seu colaborador Dr. Y.Kanada do centro de computação da universidade de Tokyo. Esta marca seria o recorde mundial na epoca. Esse programa foi portado para que PCs com Windows 9X/NT/2000/XP calculem o PI. Realizar o calculo com 33,55 milhoes de digitos, levou 3 dias com um Pentium 90MHz, 40MB de memoria e 340MB de espaço livre no HD. (Informações acima retiradas do Help do Super Pi) Baixe o programa de: http://superpi.radeonx.com/ Atenção: O Programa é Freeware e nao Free Software
O GNU/Linux é um sistema incrivel e voce provavelmente fara o calculo sem a adição de software algum. Para calcular o valor de PI, usamos o bc com o parametro -l que determina o uso da biblioteca matematica.
O bc é usado para calculos, expressoes numericas e boleanas, e possui uma linguagem propria. Voce pode usa-lo interativamente digitando bc no shell e calculando o que quiser, ou de forma não interativa atravez de arquivos com expressões.
Não é o proposito fazer uma dica sobre o bc - o que alias foi muito bem feito pelo Fernando M. Roxo da Motta em 29/07/2003. vale a pena uma consulta aos "arquivos-l" (http://www.dicas-l.com.br/dicas-l/20030729.php)
No man do bc ha um exemplo interessante que podemos adaptar para nosso teste:
pi=$(echo "scale=10; 4*a(1)" | bc -l) /*Atribui à variavel PI o numero pi com 10 casas decimais. O valor da variavel scale é o numero casa decimais. */
Se nao usamos a atribução, mantendo apenas a estrutura entre parenteses, temos o proprio valor do PI exibido na saida.
Agora entra o "time", que é usado para se ter o tempo de execução de um comando. O time chama o comando subsequente e marca algumas informações interessantes sobre o tempo de execução.
Por exemplo:
#time ls file1 file2 real 0m0.009s user 0m0.002s sys 0m0.006s
Recebeu como retorno o (minusculo) tempo que se levou para o ls retornar os arquivos no diretorio corrente - na leitura acima 0m0.009 (zero minutos e 9milesimos de segundo no caso do real). Repare que o time é quem chama o programa que é passado como parametro e nos retorna 3 dados:
De acordo com o tipo de tarefa chamada pelo time, havera uma proporção diferente nos valores acima. Ha tambem outras informações que se pode tirar do time - se o mesmo for o GNU time.
Bem, para comparar entao o desempenho de duas maquinas linux calculando o pi com 5000 casas, fica assim:
time echo "scale=5000; 4*a(1)" | bc -l
Cuidado com quantas casa decimais voce quer que o calculo seja feito, pois isso representara exponencialmente e nao linearmente mais tempo de processamento.
So de curiosidade, no meu AMD Athlon(TM) XP 2000+ 512 mem. tive os seguintes resultados para o PI com 5000 casas decimais:
real 1m25.289s / user 1m15.106s / sys 0m0.245s
Com um Intel(R) Xeon(TM) CPU 2.80GHz carregado em produção (Apache+Banco)
real 1m1.746s / user 1m1.240s / sys 0m0.010s
Agora é a sua vez!! Mate sua curiosidade.
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