После ответа о бенчмаркинге - Как подсчитать количество инструкций, отправленных в ЦПУ, чтобы найти потребленный MIPS , предложить:
perf stat ./my_program
в Linux будет использовать счетчики производительности ЦП длязапишите, сколько инструкций он выполнил и сколько тактов ядра потребовалось.(И сколько процессорного времени он использовал, и будет рассчитывать MIPS для вас).
Пример генерирует следующий вывод, который не содержит рассчитанную MIPS
информацию.
Performance counter stats for './hello.py':
1452.607792 task-clock (msec) # 0.997 CPUs utilized
327 context-switches # 0.225 K/sec
147 cpu-migrations # 0.101 K/sec
35,548 page-faults # 0.024 M/sec
2,254,593,107 cycles # 1.552 GHz [26.64%]
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
1,652,281,933 instructions # 0.73 insns per cycle [38.87%]
353,431,039 branches # 243.308 M/sec [37.95%]
18,536,723 branch-misses # 5.24% of all branches [38.06%]
612,338,241 L1-dcache-loads # 421.544 M/sec [25.93%]
41,746,028 L1-dcache-load-misses # 6.82% of all L1-dcache hits [25.71%]
25,531,328 LLC-loads # 17.576 M/sec [26.39%]
1,846,241 LLC-load-misses # 7.23% of all LL-cache hits [26.26%]
1.456531157 seconds time elapsed
[Q] Как я могу правильно вычислить MIPS
из вывода perf stat
?Чтобы рассчитать MIPS, я должен сделать следующее instructions/seconds_time_elapsed
из значений, полученных из perf stat
?