为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 Goroutines 的执行时间相差很大?

为什么 Goroutines 的执行时间相差很大?

Go
汪汪一只猫 2023-06-12 17:09:13
我只是在测量一组 goroutine 的执行时间。这意味着:我开始测量,然后启动 20 个 goroutines 并在它们完成后立即停止测量。我重复该过程 4 次,然后比较 4 次执行时间。有时,这些执行时间会有很大差异:20 个协程的第一次运行:1.2 毫秒20 个协程的第二次运行:1.9 毫秒20 个协程的第三次运行:1.4 毫秒20 个协程的第四次运行:17.0 毫秒!为什么有时差异如此显着?有什么办法可以避免吗?
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

为什么有时差异如此显着?

执行时间在某些时候总是不可预测的,如提到的(CPU、磁盘负载、内存等)

有什么办法可以避免吗?

有一种方法可以使您的测量更有用。Go 有一个内置的基准测试工具。该工具运行您的代码的次数刚好足以确定某种确定性的执行时间。

除了显示代码的平均执行时间外,它还可以显示有用的内存信息。


查看完整回答
反对 回复 2023-06-12
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信