我很新的C++,我需要打印我的程序的執行時間與4位(X.XXX)毫秒 - 我試圖用如何計算以毫秒爲單位執行時間
double start_s=clock();
// my program here
double stop_s=clock();
cout << "time: " << (stop_s) << endl;
我得到了0. 我做錯了什麼? 順便說一句我正在使用(並且必須使用,大學項目)VS2010,所以chrono不是一種選擇。
我很新的C++,我需要打印我的程序的執行時間與4位(X.XXX)毫秒 - 我試圖用如何計算以毫秒爲單位執行時間
double start_s=clock();
// my program here
double stop_s=clock();
cout << "time: " << (stop_s) << endl;
我得到了0. 我做錯了什麼? 順便說一句我正在使用(並且必須使用,大學項目)VS2010,所以chrono不是一種選擇。
使用chrono
標題中的std::chrono::high_resolution_clock
。
auto started = std::chrono::high_resolution_clock::now();
DoWork();
auto done = std::chrono::high_resolution_clock::now();
std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(done-started).count();
您還可以,如果你想轉換爲std::chrono::seconds
或std::chrono::nanoseconds
。
這是tutorial測量執行時間chrono
。
編輯:,如果你的編譯器不支持chrono
,然後
得到一個較新的一個
採取的wget
源代碼看看src/ptimer.c
。它適用於Windows和Linux,並使用本機API。
'時鐘'是非常原始的。改用['std :: chrono'](http://en.cppreference.com/w/cpp/chrono)。 –
提供的代碼無法提供此輸出。 –