計時器的time_t和clock_t 的兩種實現(xiàn)方法(推薦)
更新時間:2016年10月31日 14:02:59 投稿:jingxian
下面小編就為大家?guī)硪黄嫊r器的time_t和clock_t 的兩種實現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xià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;
}
這種實現(xiàn)方式可以正確計算出算法的核心部分耗費了234秒的 walltime。在此之前嘗試的使用 clock_t 類型的實現(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;
}
這段代碼得到的運行時間只有11秒,明顯不對。造成這種結果的原因暫時還不清楚,或許是因為算法執(zhí)行過程中在頻繁調用其他外部程序來獲得一些計算結果。
以上就是小編為大家?guī)淼挠嫊r器的time_t和clock_t 的兩種實現(xiàn)方法(推薦)全部內容了,希望大家多多支持腳本之家~
相關文章
C語言 數(shù)據(jù)結構中求解迷宮問題實現(xiàn)方法
這篇文章主要介紹了C語言 數(shù)據(jù)結構中求解迷宮問題實現(xiàn)方法的相關資料,需要的朋友可以參考下2017-03-03

