Nightmare1
@Nightmare1
Программист

Динамическое получение скорости работы процессора?

Интересует кроссплатформенное решение в идеале . Есть способ получить текущую скорость работы процессора ?
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg Куратор тега Windows
Любые ответы на любые вопросы
Вадим Ушаков, Понимаете, ваш вопрос в определенном смысле абсурден, потому что вы хотите дословно "измерить неизвестно что неизвестно как".

Можно пытаться конкретизировать, например, говоря о том, что измерению подлежит частота ядра.

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

Это если речь идет о вычислениях. Но числодробилки нынче - редкость, больше распространены приложения, привязанные к IO - а там процессор может молотить во все свои гигагерцы - если поток спит и ждет данные, но будет продолжать это делать, пусть и с огромной тактовой частотой.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Windows
software engineer
Что конкретно вы подразумеваете под "скорость работы процессора"?

Современный многоядерный многопоточный процессор с ядрами, которые могут в динамическую частоту, в многозадачной операционной системе, с различным набором хардварных оптимизирующих алгоритмов нельзя измерить на раз-два.
А учитывая, что современный серверный софт работает в своем большинстве в виртуальной среде, а то и в контейнере, где ресурсы выделяются опять таки виртуализировано, и могут из 20ядерного процессора нарезать вам 100 виртуальных ядер, про которые ваша виртуальная машина будет знать не то, что под капотом, а то что ей скажут.
И вы хотите кроссплатформенное решение?

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

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

Войдите, чтобы написать ответ

Похожие вопросы