LinuxでC/C++プログラムの実行時間を印刷する


getTickCountの使用
ヘッダファイル#include C++プログラム:
double t = (double)getTickCount();
// do something ...
t = ((double)getTickCount() - t)/getTickFrequency();
cout << "Times passed in seconds: " << t << endl;

Cプログラム:
clock_t start, finish;
double totaltime;
start = clock();
//do something ...
finish = clock();
totaltime = (double)(finish - start) / CLOCKS_PER_SEC;
printf("Time passed in seconds: %f
"
, totaltime);
timeコマンドの使用
例:
/nfsroot/opencv_test # time ./time
Times passed in seconds: 4.55756
real    0m 4.61s
user    0m 4.27s
sys     0m 0.02s

プログラムの実行時間はuserにsysを加えたものと大まかに考えることができ、real時間が私たちが印刷したプログラムの実行時間より大きいのは、プログラムが実行時にシステムがブロックされているため、システムが一時的に他のタスクを実行したからである.