2016-12-14 31 views
0
#include <iostream> 
#include <ctime> 

using namespace std; 

int main() 
{ 
    clock_t t; 
    t = clock(); 
    for(int i=0;i<1000000;i++) 
     ; 
    t=clock()-t; 
    cout<<(float)t/CLOCKS_PER_SEC<<endl; 
    return 0; 
} 

我寫了一個示例C++程序來測量運行時間。每次運行此代碼時,我都會得到不同的輸出結果。這是怎麼發生的?這個程序所需的時間不應該每次運行時都一樣。使用clock()函數測量程序的運行時間

+4

***不應該由這個程序所需要的時間是相同每次運行它的時候***不一定,記住你的操作系統可以提前你的程序中的一些任務。您的CPU可以根據負載甚至溫度改變其頻率。 – drescherjm

+0

@drescherjm謝謝!這就說得通了。 –

回答

1

我認爲你的跑步時間是真實的。在多任務操作系統中,我們有多線程,所以當你的程序運行時,也許其他程序請求CPU和你的程序要延遲它。 您應該閱讀: Easily measure elapsed time
如果您對遊戲計時器程序感到好奇。你可以使用遊戲循環。 如下這樣: How to make timer for a game loop?

相關問題