2011-01-20 23 views
2

我試圖在+ - 100ms(10%錯誤)內每秒保存一個文件。我遇到的問題是我的時間測量是說執行花費了1150毫秒,但實際上它似乎是3或4秒。n900 - maemo - 時間

發生了什麼事?

如果我發出命令sleep(1),它看起來非常準確。但是,當我測量某件東西需要花費多長時間時,它必須關閉很多。

我正在使用clock()來測量程序的執行。所有這些東西都在一段時間內。

沃爾特

回答

3

您的問題是由您的過程clock()報告你的CPU時間,這是通常採用的是「真實」的時間不同。

例如以下代碼:

#include <time.h> 
#include <iostream> 
#include <unistd.h> 

using namespace std; 

int main() 
{ 
     clock_t scl = clock(); 
     sleep(1); 
     cout << "CPU clock time " << clock()-scl << endl; 
} 

給出

time ./a.out 
CPU clock time 0 

real 0m1.005s 
user 0m0.000s 
sys 0m0.004s 
相關問題