Execução multi-thread do script simples perl / python

0

Alguns anos atrás, um amigo criou um 'benchmark' (Nota: Não é um benchmark) pelo qual mediríamos um aspecto bruto do poder de computação. Ou seja, quão rápido (ou mesmo devagar) o computador poderia contar para um grande número. Nós o chamamos de "Referência Aleatória de Hugo".

link

Ele consiste na seguinte linha simples que pode ser colada em um shell para medir o poder computacional.

 time perl -e 'for($i=0;$i<1e8;$i++) { }'

É muito bobo, em grande parte inútil, mas foi popular em nosso LUG por algum tempo. Uma coisa que nunca descobrimos foi uma maneira simples de fazer o mesmo para testar processadores multi-core / multi-thread. Como isso pode ser alcançado?

Gostaria de um script simples que copie / cole facilmente, que não dependa da instalação de muitas dependências adicionais. Nós tendemos a executar isso em sistemas Linux / Unix, portanto, podemos supor que alguma versão do Perl (ou Python) esteja disponível, não necessariamente módulos / bibliotecas perl adicionais.

Existe uma maneira simples de dividir esse trabalho em um número arbitrário de núcleos e ainda obter um tempo total de execução confiável no final?

    
por popey 24.04.2013 / 11:48

1 resposta

0

time (perl -e 'for($i=0;$i<1e8;$i++) { }' & perl -e 'for($i=0;$i<1e8;$i++) { }' & wait)

Adicione mais comandos perl para mais de 2 CPUs.

    
por 24.04.2013 / 15:16