衡量Golang代码执行时间

衡量Golang代码执行时间

实际开发中经常需要衡量代码性能,包括代码片段或业务函数。本文介绍如何衡量Golang代码执行时间,既简洁又实用。

1. 代码片段执行时间

使用time.Now()time.Since()可衡量代码片段的执行时间:

package main

import (
	"fmt"
	"time"
)

func main() {
	fmt.Println("简单衡量 Golang 代码片段执行时间示例")
	fmt.Println("")

	start := time.Now()

	//measuring the durration of the for loop
	for index := 0; index < 10; index++ {
		time.Sleep(500 * time.Millisecond)
	}
	elapsed := time.Since(start)
	fmt.Printf("The `for` loop took %s", elapsed)
}

上面示例中循环迭代10次,每次睡眠500毫秒,模拟执行复杂任务。

输出如下:

简单衡量 Golang 代码片段执行时间示例

The `for` loop took 5.000286s

循环10次,每次500毫秒,总共时间约5秒多。

2. 函数执行时间

为了衡量函数执行时间,我们创建一个专门函数衡量执行时间,与业务代码分离,增加复用性。
在执行任务开始时使用defer,确保函数执行完毕之前调用衡量执行时间函数。

package main

import (
	"fmt"
	"time"
)

func timeMeasurement(start time.Time) {
	elapsed := time.Since(start)
	fmt.Printf("Execution time: %s", elapsed)
}

func workerFunction() {
	fmt.Println("Running 'workerFunction' function")
	for index := 0; index < 10; index++ {
		time.Sleep(500 * time.Millisecond)
	}
}

func main() {
	fmt.Println("Function time measurement Golang Example")
	fmt.Println("")

	defer timeMeasurement(time.Now())
	workerFunction()
}

当然defer timeMeasurement(time.Now())也可以放在workerFunction函数体开头位置,为了不侵入业务代码,我们放在其被执行之前位置。输出如下:

衡量Golang 函数执行时间示例

Running 'workerFunction' function
Execution time: 5.0032861s

3. 总结

本文介绍了Golang衡量执行时间的方法,包括代码片段和函数的执行时间。主要使用defer关键字实现延迟机制,确保执行完成之前进计算执行时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值