Многопоточное выполнение простого скрипта Perl / Python


0

Несколько лет назад друг создал «эталон» (примечание: не эталон), с помощью которого мы могли бы измерить один необработанный аспект вычислительной мощности. А именно, насколько быстро (или даже медленно) компьютер может рассчитывать на большое количество. Мы назвали это «Случайный тест Хьюго».

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

Он состоит из следующей простой строки, которая может быть вставлена ​​в оболочку для измерения вычислительной мощности.

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

Это очень глупо, в значительной степени бессмысленно, но какое-то время было популярно в нашем LUG. Одна вещь, которую мы никогда не выяснили, это простой способ сделать то же самое для тестирования многоядерных / многопоточных процессоров. Как этого достичь?

Мне нужен простой, легко копируемый / вставляемый скрипт, который не требует установки множества дополнительных зависимостей. Мы склонны запускать это в системах Linux / Unix, поэтому можем предположить, что может существовать некоторая версия Perl (или Python), необязательно дополнительные модули / библиотеки perl.

Есть ли простой способ разделить эту работу на произвольное количество ядер и все же получить надежно рассчитанное общее время выполнения в конце?

Ответы:


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

Добавьте больше команд Perl для более чем 2 процессоров.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.