如何準確性測試一個函式的執行時間

2022-12-29 01:21:41 字數 2928 閱讀 4325

1樓:深圳中宇視通科技****

應該是你的程式執行的時間比較短,不足1ms,所以,兩次算出來的時間是一樣的,你可以試著讓它執行久一點……比如下面的程式,你可以試一下: int main() unsigned long start = gettickcount();for(int i= 0;i

如何測試一個演算法的執行時間?我是想測試一個被呼叫的子函式的執行時間,用來比較檢測演算法。

2樓:匿名使用者

用這個裡面的 long clock(void); 返回程式開始執行後佔用的處理器時間。

c語言中怎樣測試函式執行時間

3樓:匿名使用者

double cost_time;

clock_t start,end;

start=clock();開始的時候記錄時間end=clock();結束是記錄時間cost_time=(double)(end-start)/clocks_per_sec);

printf("所用時間為%f",cost_time);

4樓:網友

#include

void main()

clock_t end=clock();

cout<} clock_t clock();返回當前的機器時間(毫秒單位)

// clock_t其實就是long型別。

測試程式:檢測程式的執行時間。

5樓:網友

如果你的演算法可以在linux上執行,可以嘗試gnu profiler。下面的連結裡有它的詳細介紹。

記得千萬不要在子函式呼叫前後獲取系統時間然後相減來統計函式的執行時間,因為現在的作業系統都是可以任務切換的,你的函式可能在執行的中途被切換到其他的任務或者中斷處理函式上去了。這樣統計出來的時間是不準確的。

測試**執行時間,函式執行時間

6樓:匿名使用者

專業的不知道,如果樓主只是想要一個結果。

那可以用時間函式,在函式執行前記錄時間,結束後再記錄一個。

2個時間相減,就是執行時間。

c語言怎麼測試一段程式的執行時間?

7樓:

c/c++中的計時函式是clock(),而與其相關的資料型別是clock_t。在msdn中,查得對clock函式定義如下:

clock_t clock( void );

這個函式返回從「開啟這個程式程序」到「程式中呼叫clock()函式」時之間的cpu時鐘計時單元(clock tick)數,在msdn中稱之為掛鐘時間(wal-clock)。其中clock_t是用來儲存時間的資料型別,在檔案中,我們可以找到對它的定義:

#ifndef _clock_t_defined

typedef long clock_t;

#define _clock_t_defined

#endif

很明顯,clock_t是一個長整形數。在檔案中,還定義了一個常量clocks_per_sec,它用來表示一秒鐘會有多少個時鐘計時單元,其定義如下:

#define clocks_per_sec ((clock_t)1000) /clocks_per_sec為系統自定義的。

void elapsed_time()

#include 「

#include 「

#include 「

int main( )

{long i = 10000000l;

clock_t start, finish;

double total_time;

/* 測量一個事件持續的時間*/

printf( "time to do %ld empty loops is ",i );

start = clock();

while( i--)

finish = clock();

total_time = double)(finish-start) /clocks_per_sec;

printf( "f seconds/n", total_time);

return 0;

在筆者的機器上,執行結果如下:

time to do 10000000 empty loops is seconds

上面我們看到時鐘計時單元的長度為1毫秒,那麼計時的精度也為1毫秒,那麼我們可不可以通過改變clocks_per_sec的定義,通過把它定義的大一些,從而使計時精度更高呢?通過嘗試,你會發現這樣是不行的。在標準c/c++中,最小的計時單位是一毫秒。

如何**一段程式的執行時間

8樓:匿名使用者

首先判斷其時間複雜度,比如是o(n)還是o(log(n))。

然後根據內容判斷常數。

最後根據電腦運算速度(硬體條件)來計算執行時間。

9樓:班飆俎秋蝶

沒有說清楚,**的shell,是不是linux下面的shell,如果是的話個人認為其其實就是一個程式,其執行就肯定建立程序,監視該程序的開始和結束就知道執行時間了。

如何估計一個函式來執行所佔用的時間

10樓:文梓蓓

可以通過計算時間差的方法來計算一個函式呼叫了多久。 具體細節如下:

計算函式執行時間是評價程式效率的一種常用方法。

可以在呼叫一個函式之間獲取當前時間,在呼叫之後再次獲取當前時間,然後計算二者的時間差。

但是如果一個函式執行時間非常短,會得到兩個時間差為0的情況,此時可以修改程式為呼叫該函式1000次,然後把時間差除以1000。

得到當前時間的方法是:首先程式最前面新增標頭檔案#include,然後通過呼叫time(null)獲取當前時間。

關於函式的對稱性,如何判斷一個函式的對稱性

設f x 為標準一元二次函式,代入,通過待定係數法得 a 1 4,b 0,c 1 4,所以函式關於y軸對稱 如何判斷一個函式的對稱性 最簡單的是復偶函式 關於y軸對稱制,函式式滿足 f x f x 必要bai條件是定義域關於原 du點zhi對稱 關於原點對稱,函式式滿dao足 f x f x 必要條...

如何定義指向函式的指標陣列,如何定義一個指向函式的指標陣列

這個用typedef可以完成 先定義一個函式指標的型別 typedef void pfun 然後用這個型別pfun定義一個陣列 pfun ptr 5 裡的數字是陣列元素的個數,依情況而定 這兒用5做例子 這樣ptr就是一個指向函式指標的陣列。對於 把一個指標強制定義 這我還沒聽過這個說法,只聽過把指...

如何打造一支狼性團隊,如何打造一個狼性的團隊?

隨著社會經濟的不斷變化,如今的企業也悄然發生著變化,外部競爭更加激烈,市場環境更加嚴峻,客戶要求越來越高,這就要求企業必須實現自身業務 文化和管理的轉型,才能提高競爭力,才能創造一隻狼性的團隊。1 首先要明確團隊目標 目標很重要,目的是什麼,這個團隊要完成怎樣的目標。因為目標就是方向,每個團隊的組建...