Skip to content

Commit de30b18

Browse files
committed
Add a benchmark for PreviousSet and PreviousClear
On an Apple M2 they produces these results: BenchmarkBitsetOps/NextSet-8 2537938 470.0 ns/op BenchmarkBitsetOps/NextClear-8 2564336 468.1 ns/op BenchmarkBitsetOps/PreviousSet-8 19930 59924 ns/op BenchmarkBitsetOps/PreviousClear-8 19912 61002 ns/op A future commit should improve upon this.
1 parent c77dfc3 commit de30b18

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

bitset_benchmark_test.go

+17
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,23 @@ func BenchmarkBitsetOps(b *testing.B) {
130130
}
131131
})
132132

133+
b.Run("PreviousSet", func(b *testing.B) {
134+
s = New(100000)
135+
b.ResetTimer()
136+
for i := 0; i < b.N; i++ {
137+
s.PreviousSet(99999)
138+
}
139+
})
140+
141+
b.Run("PreviousClear", func(b *testing.B) {
142+
s = New(100000)
143+
s.FlipRange(0, 100000)
144+
b.ResetTimer()
145+
for i := 0; i < b.N; i++ {
146+
s.PreviousClear(99999)
147+
}
148+
})
149+
133150
b.Run("DifferenceCardinality", func(b *testing.B) {
134151
empty := New(100000)
135152
b.ResetTimer()

0 commit comments

Comments
 (0)