我的目標是看到過了多長時間運行來計算我的線程的性能,但我得到了一些問題:計算時間
我的代碼如下:
的#include
thread() {
struct timeval start, finish;
gettimeofday(&start, NULL);
-- code --
gettimeofday(&start, NULL);
double dif = ((end.tv_sec - start.tv_sec) + (end.tv_usec - start.tv_usec)*0.000001);
printf("%f", dif);
}
我希望我的代碼以秒和毫秒的格式打印,例如:3.252或類似的東西,但我得到的東西是:0.1615680.161717。
有誰知道如何將此格式轉換爲標準的x.xxxx秒版本?
我高度懷疑這不是完整的源代碼。你的意思是使用'&start'兩次?你是否想要從格式字符串中省略'\ n'? – Nemo
由於沒有'\ n',我認爲在輸出中有兩個連接了'0.161568'' 0.161717'的值。 – nnn
而不是gettimeofday,看看[C++ 11的'chrono'庫](http://en.cppreference.com/w/cpp/chrono)。特別是,[high_resolution_clock'](http://en.cppreference.com/w/cpp/chrono/high_resolution_clock) – user4581301