Как стать автором
Обновить

Как устроен PassMark. Воспроизводим тесты из машинного кода

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.7K
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Комментарии 2

из-за того, что ядра современных процессоров не идентичны по производительности

"Современные" процессоры бывают разные и значительное их число имеют архитектуру с одинаковыми по производительности ядрами. И все равно, даже такие процессоры очень редко идеально масштабируются под полностью симметричную нагрузку. Потому что есть общие кэши, есть ограниченная полоса пропускания памяти, а еще, частота ядер меняется динамически и обычно она тем ниже, чем больше ядер активно работает.

Наиболее вероятное объяснение этому - строение performance ядер конкретного процессора

Объяснение этому простое, тяжелых вычислительных задач на числа с плавающей запятой сильно больше, чем на целочисленные, поэтому в процессор закладывают под это дело больше вычислительных блоков.

результаты тестов увеличатся на 10-25%

Тест считает ядра физические или логическое (которые дает hyper threading)? Если первое, то тогда понятно, откуда берется лишняя производительность. Запуск потоков больше, чем есть ядер должен приводить к деградации результатов, потому что появляются накладные расходы на переключение контекстов.

Тест считает ядра физические или логическое (которые дает hyper threading)? Если первое, то тогда понятно, откуда берется лишняя производительность.

У ТС 8 производительных ядер и 16 энергоэффективных. Суммарно 24 ядра и 32 потока

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации