介绍
得益于了 Go 运行时高效的内置内存管理,我们通常能够在程序中优先考虑正确性和可维护性,而不需要过多考虑如何进行分配的细节。不过,有时我们可能会发现代码中的性能瓶颈,并希望进行更深入的研究。
任何使用 -benchmem
标志运行基准测试的人都会在输出中看到 allocs/op
的统计。在这篇文章中,我们将看看什么算作一个 alloc,以及我们可以做什么来影响这个数字。1
BenchmarkFunc-8 67836464 16.0 ns/op 8 B/op 1 allocs/op