簡體   English   中英

測量執行時間短

[英]Measuring short execution time

time_start();

int op = 0;
for(int i = 1; i <= n; i++)
    op += arr[i]*pow(x, i);

time_stop();

這是我要測量的代碼部分,time_start()和time_stop()函數只是將clock()輸出保存在某個地方,然后execute_time()返回差值,給出執行時間。

問題是對於<50000,輸出僅為0ms或1ms。 這是正確的輸出嗎? 這可以更精確嗎?

您需要在運行時和計時器代碼的分辨率之間具有足夠的“比例”,以獲取准確且可測量的結果。 最簡單的解決方案是對要測試的一小段代碼進行數百次(或數千次)迭代。

但是,任何方法都有可能產生緩存效果,因此請確保您正在衡量自己的實際想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM