在尽可能的情况下,在初始化要追加的切片时,为make()提供一个容量值。
Bad
for n := 0; n < b.N; n++ {
data := make([]int, 0)
for k := 0; k < size; k++{
data = append(data, k)
}
}
// BenchmarkBad-4 100000000 2.48s
Good
for n := 0; n < b.N; n++ {
//指定容量
data := make([]int, 0, size)
for k := 0; k < size; k++{
data = append(data, k)
}
}
/ /BenchmarkGood-4 100000000 0.21s
本文介绍了一种在Go语言中优化切片使用的技巧,通过预先设置切片容量来减少内存分配次数,显著提高了程序运行效率。比较了未优化与优化后的基准测试结果,展示了优化带来的性能提升。
926

被折叠的 条评论
为什么被折叠?



