BenchmarkIterator_KeyValueAccess tests combined key-value access
(b *testing.B)
| 207 | |
| 208 | // BenchmarkIterator_KeyValueAccess tests combined key-value access |
| 209 | func BenchmarkIterator_KeyValueAccess(b *testing.B) { |
| 210 | db, bucket := setupIteratorBenchmark(b, 10000) |
| 211 | defer func() { _ = db.Close() }() |
| 212 | |
| 213 | b.ResetTimer() |
| 214 | b.ReportAllocs() |
| 215 | |
| 216 | for i := 0; i < b.N; i++ { |
| 217 | err := db.View(func(tx *Tx) error { |
| 218 | iterator := NewIterator(tx, bucket, IteratorOptions{Reverse: false}) |
| 219 | defer iterator.Release() |
| 220 | |
| 221 | for iterator.Valid() { |
| 222 | _ = iterator.Key() |
| 223 | _, err := iterator.Value() |
| 224 | if err != nil { |
| 225 | return err |
| 226 | } |
| 227 | if !iterator.Next() { |
| 228 | break |
| 229 | } |
| 230 | } |
| 231 | return nil |
| 232 | }) |
| 233 | if err != nil { |
| 234 | b.Fatalf("View failed: %v", err) |
| 235 | } |
| 236 | } |
| 237 | } |
| 238 | |
| 239 | // BenchmarkIterator_Seek tests seek operation performance |
| 240 | func BenchmarkIterator_Seek(b *testing.B) { |
nothing calls this directly
no test coverage detected