Re[12]: С# vs C++, голые цифры
От: criosray  
Дата: 20.05.09 22:23
Оценка: :)
Здравствуйте, Antikrot, Вы писали:

A>
A>#pragma omp parallel for reduction(+:x)
...
A>


A>на самом деле, что у нас есть состояние объекта "а"? всего лишь три поля .x, .y и .z. причем .z всегда 0. остается два поля, GetColor внутри себя состояние объекта не меняет, стало быть загоняем перед внешним циклом a.x и a.y в регистры до конца цикла (то есть фактически они становятся локальными для потока; а потом вообще никуда не сохраняем), и совершенно пофигу, что там будут делать другие потоки — в наши регистры они не влезут (то есть один поток не поменяет объект "a" другому, и ничего делать private тут и не надо). но это всё очень зависит от оптимизатора, сделает лишние чтение/запись в память (например, регистров не хватило) — и всё, приплыли.


И что, Вы запускаете и каждый раз выдает корректный результат?

А можно экзешник где-нибудь выложить?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.