BenchmarkIterator_KeyAccess tests key access performance
(b *testing.B)
| 150 | |
| 151 | // BenchmarkIterator_KeyAccess tests key access performance |
| 152 | func BenchmarkIterator_KeyAccess(b *testing.B) { |
| 153 | db, bucket := setupIteratorBenchmark(b, 10000) |
| 154 | defer func() { _ = db.Close() }() |
| 155 | |
| 156 | b.ResetTimer() |
| 157 | b.ReportAllocs() |
| 158 | |
| 159 | for i := 0; i < b.N; i++ { |
| 160 | err := db.View(func(tx *Tx) error { |
| 161 | iterator := NewIterator(tx, bucket, IteratorOptions{Reverse: false}) |
| 162 | defer iterator.Release() |
| 163 | |
| 164 | for iterator.Valid() { |
| 165 | _ = iterator.Key() |
| 166 | if !iterator.Next() { |
| 167 | break |
| 168 | } |
| 169 | } |
| 170 | return nil |
| 171 | }) |
| 172 | if err != nil { |
| 173 | b.Fatalf("View failed: %v", err) |
| 174 | } |
| 175 | } |
| 176 | } |
| 177 | |
| 178 | // BenchmarkIterator_ValueAccess tests value access performance |
| 179 | func BenchmarkIterator_ValueAccess(b *testing.B) { |
nothing calls this directly
no test coverage detected