Golang 驗證程式 演算法 執行時長

2021-10-02 18:30:55 字數 1186 閱讀 2898

go語言中計算程式執行時長可以用time包裡的time.since(time)函式,引數time是程式(演算法)執行前的當前本地時間。

比如要計算乙個演算法的執行時長的**如下:

t1 := time.now()

printemptyrhombus1()

elapsed := time.since(t1)

fmt.println("elapsed=", elapsed)

用這個函式可以很快計算出乙個演算法的效率。我們舉個例子來體驗一下:

比如:畫乙個層數是111的菱形,用兩種演算法列印:

方法一:用行,列掃瞄的方式輸出,**如下:

func printemptyrhombus1() 

totalcol = totalrow

//i表示當前行數,j表示當前列數

for i := 1; i <= totalrow; i++ else

}} else else

}} fmt.println()

}}

方法二:巧用倒三角列印輸出,**如下:

func printemptyrhombus() 

//輸出*,j表示*的個數

for j := 1; j <= 2*i-1; j++ else

fmt.print("*")

} fmt.println()

} //輸出倒三角形,倒三角55層

for i := totallayer - 1; i > 0; i--

//輸出*,j表示*的個數

for j := 1; j <= 2*i-1; j++ else

fmt.print("*")

} fmt.println()

}}

分別用time.since函式計算兩個演算法的耗時,比較如下:

方法一:耗時輸出結果

方法二:耗時輸出結果

通過對比,用方法二的耗時還要短一些,所以方法二演算法效率更高一些。

Golang 計算程式執行時間

func elapsed what string func func main package main import fmt log regexp runtime time func timetrack start time.time func executetimetest func main ...

程式執行時間

要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所 耗費的時間。這個時間單位是clock tick,即 時鐘打點 同時還有乙個常數clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲 得乙個函式f...

程式執行時間

時間限制 1000 ms 記憶體限制 32768 kb 長度限制 100 kb 判斷程式 standard 來自 小小 要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所 耗費的時間。這個時間單位是cloc...