Простой способ измерить время, затраченное какой-либо частью (или всей) вашей программы, - сделать снимок текущего времени в начале и затем вычесть его из текущего времени в конце.В Windows вы можете использовать для этого функцию GetTickCount
.Я обычно оборачиваю это в небольшую вспомогательную структуру:
struct Duration {
Duration( const char *name )
: m_start( ::GetTickCount() ),
m_name( name )
{ }
~Duration() {
std::cout << m_name << " executed in " << ::GetTickCount() - start << "ms" << std::endl;
}
const DWORD m_start;
const std::string m_name;
};
Вы можете использовать это так:
int main()
{
Duration d( "Program" );
// Heavy work being done here
}
Небольшая информация о времени выводится на stdout
как Duration
объект уничтожен.