我需要验证特定函数在执行期间消耗了多少内存,并确保它保持在特定限制之下。
理想情况下,我想在测试或基准测试中这样做。据我所知,唯一的方法是创建一个单独的测试二进制文件并使用 BenchmarkResult
from
func Benchmark(f func(b *B)) BenchmarkResult
这是执行此操作的正确方法吗?
最佳答案
这不是您使用 testing
包的真正方式。只需创建一个名为 something_test.go
的文件并编写一个名为 func BenchmarkSomething(b *testing.B)
的函数即可。
testing 的文档package 有很多细节,但基本上在你写完 _test.go
文件后,你只需运行它们,启用基准测试,并针对你的问题,打开 -benchmem
:
go test -bench=. -benchmem
这应该能为您提供所需的信息。
关于go - 测试内存消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20435382/