c 程式時間測量問題

2021-10-01 12:51:39 字數 1672 閱讀 6975

第一種,使用time.h標頭檔案中的clock()函式:

#include

#include

usingnamespace std;

int main()

clock_t start = clock();

// place your codes here...

clock_t ends = clock();

cout <<"running time : "<<(double)(ends - start)/ clocks_per_sec << endl;

return0;

那麼clock和time有什麼區別呢?

clock

時鐘計時單元(而不把它叫做時鐘滴答次數),乙個時鐘計時單元的時間長短是由cpu控制的。乙個clock tick不是cpu的乙個時鐘週期,而是c/c++的乙個基本計時單位。

time 

使用標準時間點和日曆時間,標準時間點,應該是此時的時間距離時間原點的秒數。    

使用time函式可以獲得當前的日曆時間。

void gettime()

clock似乎更多地用來計算程式的執行時間,而time是用來顯示目前的日曆時間。

time_t t = time(null ) 相當於 time(time_t t)會返回目前的日曆時間。

localtime 函式會將日曆時間改為本地日曆時間。

當採用time計算程式執行時間長度的時候,可以使用difftime 來計算其差值。

在c++中使用boost庫中的

#include

timer t;//宣告計時器物件並開始計時 //...測試**

為什麼我們可能首先最常使用的是第一種方法;

精度較高,精確到毫秒,標頭檔案一般都是系統自帶,使用方便,計算時間由本程序開始時進行計算,他更適合計算程式內部的執行時間。

注意::::::::::::::::

c 庫函式clock_t clock(void)返回程式執行起(一般為程式的開頭),處理器時鐘所使用的時間。為了獲取 cpu 所使用的秒數,您需要除以 clocks_per_sec。 

尤其要注意為,處理器所使用的時間,而程式中的某些部分可能沒有使用處理器,而是使用了其他的裝置,此時,並不計算在處理器時間中。

c++ 11新標準庫中的時間計算方法:

#include

using namespace std;

using namespace chrono;

auto start = system_clock::now();

// do something...

auto end   = system_clock::now();

auto duration = duration_cast(end - start);

cout <<  "花費了" 

<< double(duration.count()) * microseconds::period::num / microseconds::period::den 

<< "秒" << endl;

關於c++ 標準庫中chrono, 時間的展示:

#include #include #include #include using namespace std;

int main()

C 執行程式時間測試

程式中 include include using namespace std intmain 在命令列中 timer 檔名 檔案輸入輸出 e c vscode cpp acm timer.cpp include 該檔案定義了cin cout cerr 和 clog物件,分別對應於標準輸入流 標準輸...

小程式時間呼叫的程式

先看 wxml view class section style background 787878 margin 20rpx padding 20rpx picker bindchange bindpickerchange value range view class picker 國家 view...

程式時間空間開銷測試

1 空間開銷測試 下面的程式測試各種c 結構及其分配記憶體的空間開銷。在32位的windows 7上用gcc 4.4.1編譯執行的結果 2 時間開銷測試 下面程式測試一系列c運算的時間開銷。由於基本運算的執行時間非常短,我們對乙個運算執行多遍,每遍執行n n次 n比較大 輸出每一遍總的時間開銷,最後...