summaryrefslogtreecommitdiffstats
path: root/sixel_test.go
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2026-05-29 20:53:20 -0700
committerRose Hogenson <rosehogenson@posteo.net>2026-05-29 22:22:20 -0700
commitba3f7c3bc35c77b07d82228b6a4e4c7a34e71f3b (patch)
tree762ef9302e44b04ee4cf08252e602e698e24d575 /sixel_test.go
parentcec51d4ddac2cd0e943cec254abb51a70dab7251 (diff)
downloadsixel-ba3f7c3bc35c77b07d82228b6a4e4c7a34e71f3b.tar.zst
Write a benchmark for QuickSelect
Diffstat (limited to 'sixel_test.go')
-rw-r--r--sixel_test.go23
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)
+ }
+}