1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
package buffer_test
import (
"testing"
"github.com/globocom/go-buffer/v2"
)
func BenchmarkBuffer(b *testing.B) {
noop := buffer.FlusherFunc(func([]interface{}) {})
b.Run("push only", func(b *testing.B) {
sut := buffer.New(
buffer.WithSize(uint(b.N)+1),
buffer.WithFlusher(noop),
)
defer sut.Close()
for i := 0; i < b.N; i++ {
err := sut.Push(i)
if err != nil {
b.Fail()
}
}
})
b.Run("push and flush", func(b *testing.B) {
sut := buffer.New(
buffer.WithSize(1),
buffer.WithFlusher(noop),
)
defer sut.Close()
for i := 0; i < b.N; i++ {
err := sut.Push(i)
if err != nil {
b.Fail()
}
}
})
}
|