Как создать таймер с высоким разрешением в Linux для измерения производительности программы?

Я пытаюсь сравнить производительность GPU и CPU. Для графического процессора NVIDIA я использовал типы cudaEvent_t , чтобы получить очень точное время.

Для процессора я использовал следующий код:

// Timers
clock_t start, stop;
float elapsedTime = 0;

// Capture the start time

start = clock();

// Do something here
.......

// Capture the stop time
stop = clock();
// Retrieve time elapsed in milliseconds
elapsedTime = (float)(stop - start) / (float)CLOCKS_PER_SEC * 1000.0f;

По-видимому, этот фрагмент кода является только хорошо, если вы считаете в секундах. Также,результаты иногда получаются довольно странными.

Кто-нибудь знает, как создать таймер с высоким разрешением в Linux?

33
задан valiano 17 January 2018 в 12:21
поделиться