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

运行 Go 基准测试的正确输出

运行 Go 基准测试的正确输出

Go
蓝山帝景 2022-05-23 17:50:36
当我在这个存储库(只是任何 go 项目的占位符)上运行基准测试时,使用: go test -run="^$" -bench="^BenchmarkLessorRevoke1000$"  ./...我得到的输出是这个,基准结果显示:BenchmarkLessorRevoke1000-8      1033351          1141 ns/op而且还有一大堆其他的测试输出。如何让它只显示基准而不是测试输出?
查看完整描述

1 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

-run您可以为工具的参数提供一个虚拟名称,go test并提供您没有与该名称匹配的任何测试,那么只有基准测试应该运行。


你很好地涵盖了这一点"^$",你也有一个模式来匹配基准"^BenchmarkLessorRevoke1000$"。


问题是您在整个包和/或子目录中使用./....


您应该指定要在每个包的基础上运行的基准。


go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" .

go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg1/

go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg2/

还要注意,如果您确实想大规模运行基准测试,您应该基于每个包进行。


为多个包运行基准测试将同时执行它们,从而扭曲您的结果。


查看完整回答
反对 回复 2022-05-23
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

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