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 類提供的設施...