新聞中心
函數(shù)的運行時間的長短是衡量這個函數(shù)性能的重要指標,特別是在對比和基準測試中,要得到函數(shù)的運行時間,最簡單的辦法就是在函數(shù)執(zhí)行之前設(shè)置一個起始時間,并在函數(shù)運行結(jié)束時獲取從起始時間到現(xiàn)在的時間間隔,這個時間間隔就是函數(shù)的運行時間。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作與策劃設(shè)計,安丘網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:安丘等地區(qū)。安丘做網(wǎng)站價格咨詢:18980820575
在Go語言中我們可以使用 time 包中的 Since() 函數(shù)來獲取函數(shù)的運行時間,Go語言官方文檔中對 Since() 函數(shù)的介紹是這樣的。
func Since(t Time) Duration
Since() 函數(shù)返回從 t 到現(xiàn)在經(jīng)過的時間,等價于time.Now().Sub(t)。
【示例】使用 Since() 函數(shù)獲取函數(shù)的運行時間。
package main
import (
"fmt"
"time"
)
func test() {
start := time.Now() // 獲取當前時間
sum := 0
for i := 0; i < 100000000; i++ {
sum++
}
elapsed := time.Since(start)
fmt.Println("該函數(shù)執(zhí)行完成耗時:", elapsed)
}
func main() {
test()
}運行結(jié)果如下所示:
該函數(shù)執(zhí)行完成耗時: 39.8933ms
上面我們提到了 time.Now().Sub() 的功能類似于 Since() 函數(shù),想要使用 time.Now().Sub() 獲取函數(shù)的運行時間只需要把我們上面代碼的第 14 行簡單修改一下就行。
【示例 2】使用 time.Now().Sub() 獲取函數(shù)的運行時間。
package main
import (
"fmt"
"time"
)
func test() {
start := time.Now() // 獲取當前時間
sum := 0
for i := 0; i < 100000000; i++ {
sum++
}
elapsed := time.Now().Sub(start)
fmt.Println("該函數(shù)執(zhí)行完成耗時:", elapsed)
}
func main() {
test()
}運行結(jié)果如下所示:
該函數(shù)執(zhí)行完成耗時: 36.8769ms
由于計算機 CPU 及一些其他因素的影響,在獲取函數(shù)運行時間時每次的結(jié)果都有些許不同,屬于正?,F(xiàn)象。
網(wǎng)站題目:創(chuàng)新互聯(lián)GO教程:Go語言計算函數(shù)執(zhí)行時間
網(wǎng)頁地址:http://fisionsoft.com.cn/article/codiihg.html


咨詢
建站咨詢
