From 10b65c97dd749adca18485a03cf7bfee3b18790f Mon Sep 17 00:00:00 2001 From: Anthony Romano Date: Sun, 20 Aug 2017 22:06:03 -0700 Subject: [PATCH] mvcc: benchmark Range() on a single key --- mvcc/kvstore_bench_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/mvcc/kvstore_bench_test.go b/mvcc/kvstore_bench_test.go index b0db47f11..92f3d6d50 100644 --- a/mvcc/kvstore_bench_test.go +++ b/mvcc/kvstore_bench_test.go @@ -45,6 +45,25 @@ func BenchmarkStorePut(b *testing.B) { } } +func BenchmarkStoreRangeOneKey(b *testing.B) { + var i fakeConsistentIndex + be, tmpPath := backend.NewDefaultTmpBackend() + s := NewStore(be, &lease.FakeLessor{}, &i) + defer cleanup(s, be, tmpPath) + + // 64 byte key/val + key, val := createBytesSlice(64, 1), createBytesSlice(64, 1) + s.Put(key[0], val[0], lease.NoLease) + // Force into boltdb tx instead of backend read tx. + s.Commit() + + b.ReportAllocs() + b.ResetTimer() + for i := 0; i < b.N; i++ { + s.Range(key[0], nil, RangeOptions{}) + } +} + func BenchmarkConsistentIndex(b *testing.B) { fci := fakeConsistentIndex(10) be, tmpPath := backend.NewDefaultTmpBackend()