go - 测试内存消耗

标签 go

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

理想情况下,我想在测试或基准测试中这样做。据我所知,唯一的方法是创建一个单独的测试二进制文件并使用 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/

相关文章:

docker - 构建 Go 程序 Docker 镜像时从远程基础镜像指向本地依赖

csv - Golang 写入 CSV 的新列

go - 使用 golang 原子 LoadInt32/StoreInt32 (64)

testing - 填充os.Stdin以读取其中的函数

go - golang channel 收不到

go - 如何使用编译时未知的结构处理JSON插件配置

go - 在 golang 中执行 echo 和 openssl 命令

go - 主线程永远不会屈服于 goroutine

http - golang1.4 http服务器保持空闲连接

synchronization - Java synchronized() block 的 golang 等价物是什么?