Login
Операционка - однопоточность и многопоточность
640 просмотров
Перейти к просмотру всей ветки
M.H. Водяной
in Antwort Murr 19.11.09 00:05
В ответ на:
Или... хммм... в Выни есть процесс/поток, который гарантировно не делает _ничего_ полезного - можно предложить преподу выключить ненужный поцесс для увеличения производительности системы... Будет интересен сам процесс и достигнутый результат...
Или... хммм... в Выни есть процесс/поток, который гарантировно не делает _ничего_ полезного - можно предложить преподу выключить ненужный поцесс для увеличения производительности системы... Будет интересен сам процесс и достигнутый результат...
И процесс, и результаты бенчерами пережёваны и проглочены мульён раз.
Для получения максимально возможного результата в СуперПи нужно:
- оставить в вине ХР только 4 процесса, остальные, в т.ч. проводник, выключаются. Выкл. (вроде бы... забыл точно, какой именно) userinit.exe вызывает shutdown, против чего помогает команда "shutdown a";
- очистить память от мусора, для чего обычно копируется файл большого размера. Я запускал для этого прогу memTest, занимающую 90% памяти;
- дать приоритет реального времени superpi.exe.
Данные мероприятия дают в SuperPi 1M выигрыш в десятые доли секунды (при результатах порядка 10с). На рабочей винде с кучей запущенных прог резалт будет хуже на 1-2 с.
Кстати, SuperPi - автору хороший пример однопоточной проги, количество ядер CPU никак не сказывается на скорости вычисления.
Хороший пример четырёхпоточной проги - SMP-Slient F@H, одна work unit обрабатывается 4-мя параллельно работающими процессами, наибольшая скорость вычислений получается при привязывании каждого процесса к отдельному ядру 4-хъядерного процессора - так оптимальнее всего используется кэш.