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

Performance 运行Go基准测试的正确输出,performance,go,testing,benchmarking,Performance,Go,Testing,Benchmarking,当我使用以下工具在此(任何go项目的占位符)上运行基准测试时: 我得到的结果是,基准测试结果如下所示: BenchmarkLessorRevoke1000-8 1033351 1141 ns/op 而且还有一大堆其他的测试输出。如何使其仅显示基准而不显示测试输出?您可以为go test工具的-run参数提供一个虚拟名称,如果没有任何与该名称匹配的测试,则只应运行基准 您在“^$”中介绍了这一点,因此一切都很好,您还有一个模式可以将基准与“^BenchmarkLess

当我使用以下工具在此(任何go项目的占位符)上运行基准测试时:

我得到的结果是,基准测试结果如下所示:

BenchmarkLessorRevoke1000-8      1033351          1141 ns/op

而且还有一大堆其他的测试输出。如何使其仅显示基准而不显示测试输出?

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

您在
“^$”
中介绍了这一点,因此一切都很好,您还有一个模式可以将基准与
“^BenchmarkLessorRevoke1000$”
匹配

问题是您正在使用
/…
在整个包和/或子目录中运行go测试

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

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

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


它的输出与我发布的问题相同:(@Hrishikesh我已经更新了答案,对发生的事情做了更多的解释。希望这能有所帮助。
go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" .
go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg1/
go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg2/