衡量Golang代码执行时间

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

1. 代码片段执行时间

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

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

输出如下:

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

2. 函数执行时间

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

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

3. 总结

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