From a7cc02b0978bc058fa97c86d24c5e7b7bf663105 Mon Sep 17 00:00:00 2001 From: Michael Benford Date: Mon, 7 Sep 2020 13:31:13 -0300 Subject: [PATCH] Add benchmark tests --- Makefile | 5 ++++- bench_test.go | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 bench_test.go diff --git a/Makefile b/Makefile index b2e4f39..2ac133b 100644 --- a/Makefile +++ b/Makefile @@ -1,2 +1,5 @@ test: - @go run github.com/onsi/ginkgo/ginkgo -keepGoing -progress -timeout 1m -race --randomizeAllSpecs --randomizeSuites + go run github.com/onsi/ginkgo/ginkgo -keepGoing -progress -timeout 1m -race --randomizeAllSpecs --randomizeSuites + +bench: + go test -bench=. -run=Benchmark diff --git a/bench_test.go b/bench_test.go new file mode 100644 index 0000000..3633c29 --- /dev/null +++ b/bench_test.go @@ -0,0 +1,41 @@ +package buffer_test + +import ( + "testing" + + "github.com/globocom/go-buffer" +) + +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() + } + } + }) +}