Комментарии 2
из-за того, что ядра современных процессоров не идентичны по производительности
"Современные" процессоры бывают разные и значительное их число имеют архитектуру с одинаковыми по производительности ядрами. И все равно, даже такие процессоры очень редко идеально масштабируются под полностью симметричную нагрузку. Потому что есть общие кэши, есть ограниченная полоса пропускания памяти, а еще, частота ядер меняется динамически и обычно она тем ниже, чем больше ядер активно работает.
Наиболее вероятное объяснение этому - строение performance ядер конкретного процессора
Объяснение этому простое, тяжелых вычислительных задач на числа с плавающей запятой сильно больше, чем на целочисленные, поэтому в процессор закладывают под это дело больше вычислительных блоков.
результаты тестов увеличатся на 10-25%
Тест считает ядра физические или логическое (которые дает hyper threading)? Если первое, то тогда понятно, откуда берется лишняя производительность. Запуск потоков больше, чем есть ядер должен приводить к деградации результатов, потому что появляются накладные расходы на переключение контекстов.
Как устроен PassMark. Воспроизводим тесты из машинного кода