Подскажите, пожалуйста, как можно точно проверить скорость выполнения какой-то части кода и всей программы на С++.
Ответ
В общем, вам нужен профайлер, который покажет сколько какой участок кода работал, сколько раз вызывался и т.п.
Если профайлер по каким-то причинам не пригоден - можно использовать получение времени в начале и конце участка кода, но время исполнения участка кода должно быть много больше кванта времени.
Конкретные способы:
time() - кроссплатформенно, квант 1 с.
GetTickCount() - Win, квант 1 мс.
QueryPerformanceCounter() - Win, кванты мелкие.
rdtsc - любая ос на x86/x64, считает такты процессора
Комментариев нет:
Отправить комментарий