From aee630b03f48a9f528a4a50e9dcb0fdc8ef20aa5 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 14 Jul 2020 09:34:50 +0100 Subject: add bench helper --- sort/bench.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 sort/bench.go (limited to 'sort/bench.go') diff --git a/sort/bench.go b/sort/bench.go new file mode 100644 index 0000000..094debd --- /dev/null +++ b/sort/bench.go @@ -0,0 +1,21 @@ +package sort + +import ( + "algorithms/ds" + "fmt" + "testing" +) + +// Avoid compiler optimizations +var benchResult []ds.Comparer + +func benchmark(name string, length int, sort func([]ds.Comparer) []ds.Comparer, b *testing.B) { + cb := func(b *testing.B) { + a := ds.RandomIntegers(length, length) + b.ResetTimer() + for i := 0; i < b.N; i++ { + benchResult = sort(a) + } + } + b.Run(fmt.Sprintf("Benchmark%s%d", name, length), cb) +} -- cgit v1.2.3