aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/memdb/bench_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/memdb/bench_test.go')
-rw-r--r--Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/memdb/bench_test.go75
1 files changed, 75 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/memdb/bench_test.go b/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/memdb/bench_test.go
new file mode 100644
index 000000000..b05084caa
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/memdb/bench_test.go
@@ -0,0 +1,75 @@
+// Copyright (c) 2012, Suryandaru Triandana <syndtr@gmail.com>
+// All rights reserved.
+//
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package memdb
+
+import (
+ "encoding/binary"
+ "math/rand"
+ "testing"
+
+ "github.com/syndtr/goleveldb/leveldb/comparer"
+)
+
+func BenchmarkPut(b *testing.B) {
+ buf := make([][4]byte, b.N)
+ for i := range buf {
+ binary.LittleEndian.PutUint32(buf[i][:], uint32(i))
+ }
+
+ b.ResetTimer()
+ p := New(comparer.DefaultComparer, 0)
+ for i := range buf {
+ p.Put(buf[i][:], nil)
+ }
+}
+
+func BenchmarkPutRandom(b *testing.B) {
+ buf := make([][4]byte, b.N)
+ for i := range buf {
+ binary.LittleEndian.PutUint32(buf[i][:], uint32(rand.Int()))
+ }
+
+ b.ResetTimer()
+ p := New(comparer.DefaultComparer, 0)
+ for i := range buf {
+ p.Put(buf[i][:], nil)
+ }
+}
+
+func BenchmarkGet(b *testing.B) {
+ buf := make([][4]byte, b.N)
+ for i := range buf {
+ binary.LittleEndian.PutUint32(buf[i][:], uint32(i))
+ }
+
+ p := New(comparer.DefaultComparer, 0)
+ for i := range buf {
+ p.Put(buf[i][:], nil)
+ }
+
+ b.ResetTimer()
+ for i := range buf {
+ p.Get(buf[i][:])
+ }
+}
+
+func BenchmarkGetRandom(b *testing.B) {
+ buf := make([][4]byte, b.N)
+ for i := range buf {
+ binary.LittleEndian.PutUint32(buf[i][:], uint32(i))
+ }
+
+ p := New(comparer.DefaultComparer, 0)
+ for i := range buf {
+ p.Put(buf[i][:], nil)
+ }
+
+ b.ResetTimer()
+ for i := 0; i < b.N; i++ {
+ p.Get(buf[rand.Int()%b.N][:])
+ }
+}