Ejecución multiproceso de script simple perl / python

0

Hace algunos años, un amigo creó un 'punto de referencia' (Nota: No es un punto de referencia) mediante el cual mediríamos un aspecto en bruto de la potencia informática. Es decir, qué tan rápido (o incluso lento) la computadora podría contar en un gran número. Lo llamamos "el punto de referencia aleatorio de Hugo".

http://www.hants.lug.org.uk/wiki/HugoRandomBenchmark

Consiste en la siguiente línea simple que se puede pegar en un shell para medir la potencia computacional.

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

Es muy tonto, en gran medida sin sentido, pero fue popular en nuestro LUG durante algún tiempo. Una cosa que nunca descubrimos fue una manera simple de hacer lo mismo para probar procesadores multi-core / multi-thread. ¿Cómo se puede lograr esto?

Me gustaría un script simple, fácil de copiar / pegar, que no dependa de la instalación de muchas dependencias adicionales. Tendemos a ejecutar esto en sistemas Linux / Unix, por lo que podemos suponer que puede haber alguna versión de Perl (o Python), no necesariamente módulos / bibliotecas perl adicionales.

¿Hay una manera simple de dividir este trabajo en un número arbitrario de núcleos y aún así obtener un tiempo de ejecución total confiable al final?

papa
fuente

Respuestas:

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

Agregue más comandos perl para más de 2 cpus.

psusi
fuente