diff options
| author | Paul Buetow <paul@buetow.org> | 2020-07-14 09:34:50 +0100 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2020-07-14 09:34:50 +0100 |
| commit | aee630b03f48a9f528a4a50e9dcb0fdc8ef20aa5 (patch) | |
| tree | 152644259dd29dee9dac930cca9f26e4b9422112 /sort/bench.go | |
| parent | 554a7a259f3feefb586374ac5a3b57acc99a4446 (diff) | |
add bench helper
Diffstat (limited to 'sort/bench.go')
| -rw-r--r-- | sort/bench.go | 21 |
1 files changed, 21 insertions, 0 deletions
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) +} |
