計時器的time_t和clock_t 的兩種實(shí)現(xiàn)方法(推薦)
想給自己初步完成的相空間搜索算法計算一下運(yùn)行時間,于是嘗試了如下使用 time_t 類型的方式
#include <stdlib.h>
#include <iostream>
#include <time.h>
#include "StateFunctions.h"
using namespace std;
int main(int argc, char** argv)
{
time_t start, finish;
time(&start);
StateFunctions testobj(22, 22);
testobj.TEST();
testobj.TEST();
testobj.FillRandomDets(200);
testobj.evolute(1000, 0.9);
cout << "--------------------------------------------" << endl;
time(&finish);
double duration = difftime(finish, start);
cout << "--> time: " << duration << " s" << endl;
cout << "--------------------------------------------" << endl;
return 0;
}
這種實(shí)現(xiàn)方式可以正確計算出算法的核心部分耗費(fèi)了234秒的 walltime。在此之前嘗試的使用 clock_t 類型的實(shí)現(xiàn)方式是
#include <iostream>
#include <time.h>
#include "StateFunctions.h"
using namespace std;
int main(int argc, char** argv)
{
clock_t start, finish;
start = clock();
StateFunctions testobj(22, 22);
testobj.TEST();
testobj.TEST();
testobj.FillRandomDets(200);
testobj.evolute(1000, 0.9);
cout << "--------------------------------------------" << endl;
finish = clock();
double duration = (double)(finish - start) / CLOCKS_PER_SEC;
cout << "--> time: " << duration << " s" << endl;
cout << "--------------------------------------------" << endl;
return 0;
}
這段代碼得到的運(yùn)行時間只有11秒,明顯不對。造成這種結(jié)果的原因暫時還不清楚,或許是因?yàn)樗惴▓?zhí)行過程中在頻繁調(diào)用其他外部程序來獲得一些計算結(jié)果。
以上就是小編為大家?guī)淼挠嫊r器的time_t和clock_t 的兩種實(shí)現(xiàn)方法(推薦)全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
C/C++讀寫注冊表中二進(jìn)制數(shù)據(jù)(代碼示例)
這篇文章主要介紹了使用Windows API 函數(shù)中的RegOpenKeyEx()函數(shù)和RegSetValueEx()函數(shù)來實(shí)現(xiàn)對注冊表某項(xiàng)寫入二進(jìn)制鍵值,需要的朋友可以參考下2020-02-02
C語言驅(qū)動開發(fā)之內(nèi)核使用IO/DPC定時器詳解
本章將繼續(xù)探索驅(qū)動開發(fā)中的基礎(chǔ)部分,定時器在內(nèi)核中同樣很常用,在內(nèi)核中定時器可以使用兩種,即IO定時器,以及DPC定時器,感興趣的可以了解一下2023-04-04
探討:C++中函數(shù)返回引用的注意事項(xiàng)
本篇文章是對C++中函數(shù)返回引用的注意事項(xiàng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C++實(shí)現(xiàn)LeetCode(76.最小窗口子串)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(76.最小窗口子串),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
一道超經(jīng)典的C++結(jié)構(gòu)體的題目
以下小編就為大家介紹一道超經(jīng)典的關(guān)于C++結(jié)構(gòu)體的題目。需要的朋友可以過來參考下2013-09-09
c語言循環(huán)加數(shù)組實(shí)現(xiàn)漢諾塔問題
本文主要介紹了c語言循環(huán)加數(shù)組實(shí)現(xiàn)漢諾塔問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

