Конвейерные команды Windows XP, похоже, используют только одно ядро - PullRequest
0 голосов
/ 18 октября 2011

У меня есть компьютер со встроенной Windows XP. Я запускаю команду (из приглашения или путем запуска с помощью команды запуска), которая имеет вид «(шаг 1) | (шаг 2) | (шаг 3) | (шаг 4)», где каждый из шагов это другая программа, которая направляет свой стандартный вывод на следующие шаги stdin.

Это прекрасно работает, но на многоядерном компьютере (с 4 ядрами) он использует только 25% процессорного времени для всех этапов, хотя я думаю, что они должны работать на отдельных ядрах. Я что-то пропустил? Предотвращает ли передача через командную оболочку одновременно более одного ядра?

Я пытался явно изменить сродство каждого из моих шагов, и, хотя это меняет то, какое ядро ​​выполняет работу, общее использование ЦП никогда не поднимается выше 25%. Если я просто запускаю (шаг 1)> NUL, то эта программа потребляет одно ядро ​​целиком.

Спасибо.

...