線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3364
推到 Plurk!
推到 Facebook!

請問如何計算確切的程式運算時間

缺席
wildbattle
一般會員


發表:7
回覆:12
積分:3
註冊:2005-12-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-08-21 22:23:18 IP:118.169.xxx.xxx 訂閱
網路上找方法,好像很多都是說用clock()這個定義在time.h裡面的函數就可以。
例如:
int starttime=clock();
int stoptime,timeused;

for(...)
{
.....
}

stoptime=clock();
timeused=stoptime-starttime;

但這樣看來似乎是測出真實的時間而不是只花在我的程式上的時間?
我想要的是能夠確切計算出我的程式在運算的時候花了多少的時間,或多少個clock cycles。
請問BCB有這類的函式庫可以用嗎?或者有什麼辦法可以測量出正確在我的程式上所花的clock cycles數?
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-08-21 23:13:08 IP:219.84.xxx.xxx 訂閱
能不能請教一下,您要計算出花的clock cycles數 的用意為何?

每台電腦的基頻跟 CPU 各指令運算的cycles 不盡相同。

就算您能算出來準確的 clock cycles 數字,但可能換台電腦的數字又不一樣了。

似乎時間對人來說,比較有參考的價值。

所以不知道您的用意為何?



===================引 用 wildbattle 文 章===================
網路上找方法,好像很多都是說用clock()這個定義在time.h裡面的函數就可以。
例如:
int starttime=clock();
int stoptime,timeused;

for(...)
{
.....
}

stoptime=clock();
timeused=stoptime-starttime;

但這樣看來似乎是測出真實的時間而不是只花在我的程式上的時間?
我想要的是能夠確切計算出我的程式在運算的時候花了多少的時間,或多少個clock cycles。
請問BCB有這類的函式庫可以用嗎?或者有什麼辦法可以測量出正確在我的程式上所花的clock cycles數?
wildbattle
一般會員


發表:7
回覆:12
積分:3
註冊:2005-12-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-08-22 10:28:33 IP:118.169.xxx.xxx 訂閱
我的想法是,如果能算出程式所花的cycle數,再除以我的腦基頻,就能得到程式演算的確切時間。

因為我寫一個程式,但老師希望我能把每個部分的程式所佔的「確切時間」也就是只有用在我程式上的時間整理出來給他看。

所以才想說能不能準確一點,可以比較知道確切花在我程式運算上的CPU時間。

===================引 用 carstyc 文 章===================
能不能請教一下,您要計算出花的clock cycles數 的用意為何?

每台電腦的基頻跟 CPU 各指令運算的cycles 不盡相同。

就算您能算出來準確的 clock cycles 數字,但可能換台電腦的數字又不一樣了。

似乎時間對人來說,比較有參考的價值。

所以不知道您的用意為何?
編輯記錄
wildbattle 重新編輯於 2009-08-22 10:29:46, 註解 無‧
maplefog
一般會員


發表:16
回覆:24
積分:13
註冊:2008-11-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-08-23 23:05:34 IP:140.118.xxx.xxx 訂閱
若要取得精確的執行時間 可以使用RDTSC 

請參考 http://en.wikipedia.org/wiki/RDTSC
harrypp
中階會員


發表:7
回覆:124
積分:61
註冊:2006-08-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-08-27 15:43:12 IP:218.210.xxx.xxx 訂閱
以前較常用是外掛ICE或是WinDebug。
系統時間:2024-11-22 10:24:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!