关于cpu_timer具体请看:
http://blog.csdn.net/pdcxs007/article/details/47281391
参考实例为:
#include <iostream>
#include <boost/timer/timer.hpp>
#include <cmath>
using namespace std;
using namespace boost;
int main()
{
timer::cpu_timer t;
timer::auto_cpu_timer auto_timer(6,
"%ws real time\n");
int a;
for (long i = 0; i < 100000000; ++i)
a = sqrt(i * i); // spend some time
cout << "is started: " << (t.is_stopped() ?
"no" : "yes") << endl;
cout << t.format(2, "%us user + %ss system "
"= %ts(%p%)") << endl;
return 0;
}
当测试caffe的用时可以改成
#include <iostream>
#include <boost/timer/timer.hpp>
#include <cmath>
#include <stdlib.h>
using namespace std;
using namespace boost;
int main()
{
timer::cpu_timer t;
timer::auto_cpu_timer auto_timer(6,
"%ws real time\n");
int a;
int status = std::system("sudo ~caffe/build/tools/caffe test -model /home/mqli/XXX/SqueezeNet/test_train_val_w32.prototxt 2>&1 -weights /home/mqli/XXX/caffemodel_32_squeeze_origin/train_iter_10000.caffemodel -iterations 1 | tee /home/mqli/XXX/mylog/test_train_w32.log");
//for (long i = 0; i < 100000000; ++i)
// a = sqrt(i * i); // spend some time
cout << "is started: " << (t.is_stopped() ?
"no" : "yes") << endl;
cout << t.format(2, "%us user + %ss system "
"= %ts(%p%)") << endl;
return 0;
}