Golang 計算程式執行時間

2021-09-25 11:26:25 字數 684 閱讀 3960

func elapsed(what string) func() 

}func main()

package main

import (

"fmt"

"log"

"regexp"

"runtime"

"time"

)func timetrack(start time.time)

func executetimetest()

func main()

caller可以返回函式呼叫棧的某一層的程式計數器、檔案資訊、行號。

0 代表當前函式,也是呼叫runtime.caller的函式。1 代表上一層呼叫者,以此類推。

funcforpc 是乙個有趣的函式, 它可以把程式計數器位址對應的函式的資訊獲取出來。如果因為內聯程式計數器對應多個函式,它返回最外面的函式。

它的返回值是乙個func型別的值,通過func可以獲得函式位址、檔案行、函式名等資訊。

pc,_,_,_:=runtime.caller(1)

fmt.println(pc)

funcobj:=runtime.funcforpc(pc)

fmt.println(funcobj.name())

計算程式執行時間

在長時間計算程式執行時間時,可以使用clock函式。clock比較通用,精度並不是特別的高,大約是10ms。但是對於長時間的計算的話,還是可以使用的。以下是一段示例程式,將幫助你理解 include stdio.h include memory.h include time.h define siz...

程式執行時間計算

int sum int n 分析 宣告不計時間,第一句,第四句各占用乙個時間單位。第三句每執行一次占用四個時間單位,兩次乘法,一次加法,一次賦值。而執行n次共占用4n個時間單位。第二行初始化i,乙個時間單位 測試i n,n 1個時間單位 i n個時間單位 總共2n 2。忽略呼叫,返回值的開銷,以上總...

計算程式執行時間

在編寫完程式後,通常都會對程式進行效能測試,比較常用的方法就是計算完成某個任務所花費的時間。system類提供了獲得當前時間的方法,但是其單位是毫秒,閱讀不方便。本例項將其轉換成方便的閱讀格式。例項執行效果如圖 system類包含一些有用的類字段和方法,它不能被例項化。在 system 類提供的設施...