测试内存消耗

我需要验证特定函数在执行期间消耗了多少内存,并确保它保持在特定限制之下。

理想情况下,我想在测试或基准测试中执行此操作。据我所知,唯一的方法是创建一个单独的测试二进制文件并使用BenchmarkResultfrom

func Benchmark(f func(b *B)) BenchmarkResult

这是正确的方法吗?


温温酱
浏览 291回答 2
2回答

达令说

这不是你使用testing包的方式。只需创建一个名为的文件something_test.go并编写一个名为的函数func BenchmarkSomething(b *testing.B),您就可以开始了。测试包的文档更详细,但基本上在您编写_test.go文件后,您只需运行它们,启用基准测试,并针对您的问题,打开-benchmem:go test -bench=. -benchmem那应该给你你正在寻找的东西。

波斯汪

其实很简单:使用runtime.ReadMemStats(&m)into读取 memstatsm调用 f()再次将 memstats 读入 m2计算m和之间的差异m2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go