我只是在测量一组 goroutine 的执行时间。这意味着:我开始测量,然后启动 20 个 goroutines 并在它们完成后立即停止测量。我重复该过程 4 次,然后比较 4 次执行时间。有时,这些执行时间会有很大差异:20 个协程的第一次运行:1.2 毫秒20 个协程的第二次运行:1.9 毫秒20 个协程的第三次运行:1.4 毫秒20 个协程的第四次运行:17.0 毫秒!为什么有时差异如此显着?有什么办法可以避免吗?
1 回答
绝地无双
TA贡献1946条经验 获得超4个赞
为什么有时差异如此显着?
执行时间在某些时候总是不可预测的,如提到的(CPU、磁盘负载、内存等)
有什么办法可以避免吗?
有一种方法可以使您的测量更有用。Go 有一个内置的基准测试工具。该工具运行您的代码的次数刚好足以确定某种确定性的执行时间。
除了显示代码的平均执行时间外,它还可以显示有用的内存信息。
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消