Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Metodo curioso de comparação de desempenho.

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: calculando o PI em uma maquina com Windows

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

Se voce tomou a pilula vermelha: Calculando o calor de PI no Linux

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:

  1. do tempo real passado entre a chamada e o término
  2. o tempo e utilização da CPU pelo usuário (a soma de tms_utime e tms_cutime valores em uma struct tms como retornado por times(2)), e
  3. o tempo de CPU do sistema (a soma do tms_stime e tms_cstime valores em uma struct tms como retornado por times(2)).

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.

Veja a relação completa dos artigos de Fabio Maximo

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1693 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

SEM e SEO - 2ª Edição