Bench Buffer

Golang buffer fun

View the Project on GitHub omgnull/go-benchmark

Goal

Determine memory management while using buffer

Go back

Overall

BenchmarkGenericBuf-8                      1000000    1741 ns/op     2624 B/op    4 allocs/op
BenchmarkGenericStackBuf-8                 1000000    1695 ns/op     2624 B/op    4 allocs/op
BenchmarkAllocBuf-8                        1000000    1770 ns/op     2624 B/op    4 allocs/op
BenchmarkSyncPoolBuf-8                    50000000      43.5 ns/op      0 B/op    0 allocs/op
BenchmarkBpoolPoolBuf-8                   10000000     177 ns/op        0 B/op    0 allocs/op
BenchmarkByteBufferPoolBuf-8              50000000      39.0 ns/op      0 B/op    0 allocs/op
BenchmarkEasyJsonBuffer-8                  3000000     503 ns/op      608 B/op    4 allocs/op
BenchmarkEasyJsonBuffer_OptimizedSize-8   20000000      85.8 ns/op     32 B/op    1 allocs/op
    

0 B/op and 0 allocs/op are averaged values, in that case number of allocs is equal to number of goroutines; more than zero

Generic (source)

Stack (source)

Alloc (source)

Sync (source)

BPool (source) (lib)

ByteBufferPool (source) (lib)

EasyJsonBuffer (source) (lib)