MCPcopy Create free account
hub / github.com/nutsdb/nutsdb / BenchmarkIterator_ValueAccess

Function BenchmarkIterator_ValueAccess

iterator_bench_test.go:179–206  ·  view source on GitHub ↗

BenchmarkIterator_ValueAccess tests value access performance

(b *testing.B)

Source from the content-addressed store, hash-verified

177
178// BenchmarkIterator_ValueAccess tests value access performance
179func 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
209func BenchmarkIterator_KeyValueAccess(b *testing.B) {

Callers

nothing calls this directly

Calls 8

ReleaseMethod · 0.95
ValidMethod · 0.95
ValueMethod · 0.95
NextMethod · 0.95
setupIteratorBenchmarkFunction · 0.85
NewIteratorFunction · 0.85
ViewMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected