diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2026-05-29 20:53:20 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2026-05-29 22:22:20 -0700 |
| commit | ba3f7c3bc35c77b07d82228b6a4e4c7a34e71f3b (patch) | |
| tree | 762ef9302e44b04ee4cf08252e602e698e24d575 | |
| parent | cec51d4ddac2cd0e943cec254abb51a70dab7251 (diff) | |
| download | sixel-ba3f7c3bc35c77b07d82228b6a4e4c7a34e71f3b.tar.zst | |
Write a benchmark for QuickSelect
| -rw-r--r-- | sixel_test.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sixel_test.go b/sixel_test.go new file mode 100644 index 0000000..eb7f989 --- /dev/null +++ b/sixel_test.go @@ -0,0 +1,23 @@ +package sixel + +import ( + "cmp" + "math/rand/v2" + "testing" +) + +func BenchmarkQuickSelect(b *testing.B) { + r := rand.New(rand.NewPCG(0, 0)) + testSlice := make([]int, 3840*2160) + for i := range testSlice { + testSlice[i] = r.Int() + } + myTestSlice := make([]int, len(testSlice)) + for b.Loop() { + b.StopTimer() + copy(myTestSlice, testSlice) + b.StartTimer() + var randState uint64 + quickSelect(myTestSlice, len(myTestSlice)/2, cmp.Compare, &randState) + } +} |
