Получить время выполнения куска кода - PullRequest
2 голосов
/ 23 апреля 2010

Как получить время выполнения фрагмента кода в Qt / C ++ в миллисекундах?

Ответы [ 3 ]

7 голосов
/ 23 апреля 2010

Используйте класс QTime. Начните с .start() (или .restart()), а затем проверьте количество пройденных миллисекунд с .elapsed(). Естественно, точность в конечном итоге зависит от базовой ОС, хотя с основными платформами у вас не должно возникнуть проблем с получением реального разрешения в миллисекундах.

4 голосов
/ 23 апреля 2010

Если вы работаете в системе Windows, то вы можете использовать таймер на основе таймеров Windows Performace и получать микросекундное время.

Intel имеет загружаемую библиотеку по адресу etimer libary . Это небольшая процедура на языке C, которая довольно безболезненна и дает очень хорошие результаты на микросекундном уровне

1 голос
/ 23 апреля 2010

Если вы не используете Qt, вы можете сделать это с помощью GetTickCount:

DWORD start = ::GetTickCount(); // start counter

// all the things your program does

DWORD end = ::GetTickCount(); // stop counter
DWORD duration = end - start;
std::cout << "Duration: "  << duration << " ms" << std::endl;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...