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

当我在这个存储库(只是任何 go 项目的占位符)上运行基准测试时,使用:

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

我得到的输出是这个,基准结果显示:

BenchmarkLessorRevoke1000-8      1033351          1141 ns/op

而且还有一大堆其他的测试输出。如何让它只显示基准而不是测试输出?


蓝山帝景
浏览 108回答 1
1回答

慕姐8265434

-run您可以为工具的参数提供一个虚拟名称,go test并提供您没有与该名称匹配的任何测试,那么只有基准测试应该运行。你很好地涵盖了这一点"^$",你也有一个模式来匹配基准"^BenchmarkLessorRevoke1000$"。问题是您在整个包和/或子目录中使用./....您应该指定要在每个包的基础上运行的基准。go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" .go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg1/go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg2/还要注意,如果您确实想大规模运行基准测试,您应该基于每个包进行。为多个包运行基准测试将同时执行它们,从而扭曲您的结果。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go