2016-06-23 3 views
0

Когда я использую профилировщик времени в инструменте, он показывает использование процессора для каждого ядра (или логического ядра), а также «использования процессора». Мне интересно, как вычисляется использование процессора в зависимости от использования процессора каждым ядром. Я пробовал данные с определенной отметки времени, и она не является ни суммой каждого ядра, ни средней. enter image description here Вот снимок панели.Расчет использования процессора во временном профилировщике

ответ

0

Использование ЦП не является ни суммой, ни средней. В отличие от использования процессора ОС (скажем, сверху), использование центрального процессора обычно берется с фактического счетчика оборудования в процессоре. Это также делает его зависимым от аппаратного обеспечения, то есть его точное значение на процессоре Intel отличается от точного для процессора AMD. Итак, почему эти измерения полезны? Поскольку коэффициенты и значения верны по сравнению со значениями, взятыми за один и тот же интервал/в тот же момент времени, а средние значения - это то, что вы ожидаете от них.

При профилировании сначала просматривайте корреляции с интервалами, а затем между интервалами. Впоследствии увеличьте масштаб в более конкретных регистрах, таких как промахи в кеше или конвейеры.

Вы можете проверить документацию по оптимизации Intel. Это очень хорошо в моем опыте. Я напишу ссылку в разделе комментариев, если найду время.

PS Кстати, «Core 4» и «Core 5 (логический)» на самом деле не точны выше (не ваша ошибка). Имена подразумевают, что «логическое» ядро ​​каким-то образом уступает нелогичному. Когда процессор выполняет несколько аппаратных потоков на одном ядре, то, что говорит Intel по маркетингу, вызывает гиперпоточность, нет никакой разницы между Core 4 и Core 5, поскольку они ведут себя одинаково на физическом ядре, что означает, что они оба «логичны».