基础性能测试整个 Slice Append复用 Slicesync.Poolbytebufferpool总结之前写了一篇Golang 中预分配 slice 内存对性能的影响,探讨了一下在 Slice 中预分配内存对性能的影响,之前考虑的场景比较简单,最近又做了一些其他测试,补充一下进一步的信息。包括整个 Slice append,sync.Pool 对性能的影响。基础性能测试最初的 BenchMark 代码,只考虑了 Slice 是否初始化分配空间的情况,具体的代码如下:12345678910111213141516171819202122232425262728293031packageprealloc_testimport("sync""testing")varlength =1024vartesttext =make([]byte, length, length)funcBenchmarkNoPreallocateByElement(b *testing.B){b.ResetTimer()fori :=0; i < b.N; i++ {// Don't preallocate our initial slicevarinit []byteforj :=0; j < length; j++ {init =append(init, test
...
继续阅读
(22)