追加时优先指定切片容量

在尽可能的情况下,在初始化要追加的切片时为make()提供一个容量值。

BadGood
for n := 0; n < b.N; n++ {
  data := make([]int, 0)
  for k := 0; k < size; k++{
    data = append(data, k)
  }
}
for n := 0; n < b.N; n++ {
  data := make([]int, 0, size)
  for k := 0; k < size; k++{
    data = append(data, k)
  }
}
BenchmarkBad-4    100000000    2.48s
BenchmarkGood-4   100000000    0.21s
最后编辑: kuteng  文档更新时间: 2021-05-09 20:12   作者:kuteng