Однопоточная программа занимает слишком мало процессора?
Я использую Windows 7 Professional, процессор Intel i7. Я знаю, что у i7 есть Hyper-Threading, и я предполагаю, что это причина.
При запуске однопоточной программы я видел, что она использует только 12-13% ЦП в диспетчере задач, что составляет 1/8 от времени ЦП на четырехъядерном ЦП. Это проблема в диспетчере задач из-за HT, или он действительно использует только половину ядра?
1 ответ
Если HyperThreading включен, вы увидите восемь отдельных графиков ЦП в диспетчере задач. Итак, 100% одного из этих виртуальных ядер будет 12-13%. (Одна из причин, по которой я предпочитаю то, как это делают Mac/Linux: каждое ядро на 100%, поэтому восьмиъядерная - реальная или виртуальная - может использовать до 800% ЦП.)
Это просто способ использования. Отключение HyperThreading в BIOS/EFI может немного повысить производительность.