Я реализовал версию PageRank в многопоточной версии. Я запускаю его на 4-ядерном Q6600. Когда я запускаю его для создания 4 потоков, я получаю:
real 6.968s
user 26.020s
sys 0.050s
Когда я запускаю 128 потоков, я получаю:
real 0.545s
user 1.330s
sys 0.040s
Это не имеет для меня смысла. Основным алгоритмом является уменьшение суммы:
Профилирование не помогло. Я не уверен, какие данные были бы полезны для понимания моего кода - просто спросите.
Это действительно меня озадачило.