Re[2]: Оптимизация: многопоточность
От: CyberDemon Россия  
Дата: 13.11.09 19:30
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Нужно исходить из соотношения времени, затрачиваемого ядром на сжатие порции данных (части кадра, целого кадра, нескольких кадров), и времени, затрачиваемого ядром на конкуренцию с остальными ядрами. То есть, нужно добиваться того, чтобы ядро как можно больше времени обрабатывало свои собственные данные, и как можно меньше лезло к данным, разделяемым с другими ядрами (это и данные потока, и общие очереди/списки).


Да там общих то данных практически нет.
Сейчас попробовал на простом тесте сымитировать работу первого и второго варианта. Получилось, что разницы нет никакой ВООБЩЕ
Буду думать дальше.
Еще случайно обнаружил вот какой факт:
если у процесса изменить affinity mask таким образом, чтобы кол-во задействованных ядер совпадало с кол-вом рабочих потоков, то общая производительность резко возрастает. Походу исключаются некоторые промахи кеша.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.