Показать сообщение отдельно
  #4  
Старый 16.05.2015, 18:26
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
И вы думаете разные потоки будут крутится на разных ядрах? А вот и нетушки.
Таки да. В любой нормальной ОС при наличии свободных ядер (а если активно занимает процессор только эта программа, то таковые имеются) потоки будут запущены на разных ядрах. Не далее, как неделю назад, запускал подсчет инфы от большого числа файлов: имел 24 ядра, запустил в 24 потока. Стало примерно в 20 раз быстрее. И загрузка процессора стала не 4%, а все 100%.

А потому можно сделать функцию, которая принимает агрументы и адерс функции вычисления (ведь все функции одинаковые по количеству и типу параметров), вызывает и сохраняет результат. После чего запустить много потоков (по числу ядер), передав соответствующие функции подсчета и аргументы.

А граф процессор, конечно, можно, но это уже не за 10 минут делается, это надо очень много курить все эти OpenMP и прочую жесть.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием