Несколько лет назад друг создал «эталон» (примечание: не эталон), с помощью которого мы могли бы измерить один необработанный аспект вычислительной мощности. А именно, насколько быстро (или даже медленно) компьютер может рассчитывать на большое количество. Мы назвали это «Случайный тест Хьюго».
http://www.hants.lug.org.uk/wiki/HugoRandomBenchmark
Он состоит из следующей простой строки, которая может быть вставлена в оболочку для измерения вычислительной мощности.
time perl -e 'for($i=0;$i<1e8;$i++) { }'
Это очень глупо, в значительной степени бессмысленно, но какое-то время было популярно в нашем LUG. Одна вещь, которую мы никогда не выяснили, это простой способ сделать то же самое для тестирования многоядерных / многопоточных процессоров. Как этого достичь?
Мне нужен простой, легко копируемый / вставляемый скрипт, который не требует установки множества дополнительных зависимостей. Мы склонны запускать это в системах Linux / Unix, поэтому можем предположить, что может существовать некоторая версия Perl (или Python), необязательно дополнительные модули / библиотеки perl.
Есть ли простой способ разделить эту работу на произвольное количество ядер и все же получить надежно рассчитанное общее время выполнения в конце?