BenchmarkIterator_ValueAccess tests value access performance
(b *testing.B)
| 177 | |
| 178 | // BenchmarkIterator_ValueAccess tests value access performance |
| 179 | func BenchmarkIterator_ValueAccess(b *testing.B) { |
| 180 | db, bucket := setupIteratorBenchmark(b, 10000) |
| 181 | defer func() { _ = db.Close() }() |
| 182 | |
| 183 | b.ResetTimer() |
| 184 | b.ReportAllocs() |
| 185 | |
| 186 | for i := 0; i < b.N; i++ { |
| 187 | err := db.View(func(tx *Tx) error { |
| 188 | iterator := NewIterator(tx, bucket, IteratorOptions{Reverse: false}) |
| 189 | defer iterator.Release() |
| 190 | |
| 191 | for iterator.Valid() { |
| 192 | _, err := iterator.Value() |
| 193 | if err != nil { |
| 194 | return err |
| 195 | } |
| 196 | if !iterator.Next() { |
| 197 | break |
| 198 | } |
| 199 | } |
| 200 | return nil |
| 201 | }) |
| 202 | if err != nil { |
| 203 | b.Fatalf("View failed: %v", err) |
| 204 | } |
| 205 | } |
| 206 | } |
| 207 | |
| 208 | // BenchmarkIterator_KeyValueAccess tests combined key-value access |
| 209 | func BenchmarkIterator_KeyValueAccess(b *testing.B) { |
nothing calls this directly
no test coverage detected