package
0.0.0-20200223121827-10ffd4c65076
Repository: https://github.com/aquayi/go-notes.git
Documentation: pkg.go.dev
# README
切片的各种append方式的benchmark
$go test -bench .
利用上述命令,可以看到。对切片进行赋值时,s[i]=i
比s=append(s, i)
的方式快4倍左右。如果s没有足够cap的话,扩充底层数组会非常耗时。cap足够的话,通过s=append(s, a...)
和s[i]=i
的耗时差不多,cap不够的话,速度会减半。
结论
修改切片的底层数组会很耗时,原先设置合理的cap,再直接修改s[i]的值最快。