Я заметил очень странное поведение при запуске моего кода в x64 «режиме» с VS 2008, в режиме Release.
Я стремлюсь к повышению производительности, поэтому я превратил свой проект на платформу x64 (мой оригинальныйПроект написан как консольное приложение Win32).
Я действительно добился некоторого улучшения, но также обнаружил очень странное поведение во время выполнения.Я использую прагмы OpenMP для распараллеливания циклов («для»).Поэтому, когда я запускаю свою программу (Win32) на четырехъядерном процессоре i5, я вижу 100% загрузки процессора и 4 потока.Это нормально.
Но когда я переключаюсь в режим x64 (в Projet Properties-> Configuration Manager -> ...), загрузка 100% падает (через 3-5 минут) до75%, 50% или даже 25%.Но все же, есть 4 (!) Потока, запущенных.(По данным Resource Monitor).
Как можно получить только 25% от общей производительности ЦП при всех 4-х ступенях?Предполагается, что каждый поток работает на своем отдельном ядре.
PS ОС Windows 7 x64 и VS 2008.
Заранее спасибо!Любые предложения приветствуются!
AK