提升计时器:如何在需要时获取时间?

Rel*_*lla 7 c++ boost timer

所以,我读这提振文档,但我仍然不知道怎样做这样简单的事

int main() {
    //stuff
    startTimer();
    // do stuff
    int i =getTimerValue();
    //stuff
}
Run Code Online (Sandbox Code Playgroud)

所以要获得我已经完成的东西的执行时间.怎么办这样的事情?

log*_*og0 19

使用 boost::timer

#include <boost/timer.hpp>
int main() {   
  boost::timer t; // start timing
  ...
  double elapsed_time = t.elapsed();
  ...
}
Run Code Online (Sandbox Code Playgroud)

请注意,a的destuctor boost::progress_timer将显示时间.因此,如果您的目标只是显示函数中间经过的时间,请使用范围.

int main() {  
  {
    boost::progress_timer t; // start timing
    ...
  } // elapsed time displayed here when t is destructed
  ...
}
Run Code Online (Sandbox Code Playgroud)


Ste*_*end 5

替换为

#include <boost/progress.hpp>
void function()
{
   progress_timer t;  // start timing
   // do stuff
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

你会得到你想要的东西,printf但不会使用.

定时器在构造时开始并在销毁时显示(即在fn出口处).这是在C++中执行作用域任务(计时,锁定等)的典型RAII方式.