MCPcopy Index your code
hub / github.com/nutsdb/nutsdb / BenchmarkIterator_KeyAccess

Function BenchmarkIterator_KeyAccess

iterator_bench_test.go:152–176  ·  view source on GitHub ↗

BenchmarkIterator_KeyAccess tests key access performance

(b *testing.B)

Source from the content-addressed store, hash-verified

150
151// BenchmarkIterator_KeyAccess tests key access performance
152func 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
179func BenchmarkIterator_ValueAccess(b *testing.B) {

Callers

nothing calls this directly

Calls 8

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

Tested by

no test coverage detected