OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / github.com / syndtr / goleveldb / leveldb / memdb / bench_test.go
1 // Copyright (c) 2012, Suryandaru Triandana <syndtr@gmail.com>
2 // All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style license that can be
5 // found in the LICENSE file.
6
7 package memdb
8
9 import (
10         "encoding/binary"
11         "math/rand"
12         "testing"
13
14         "github.com/syndtr/goleveldb/leveldb/comparer"
15 )
16
17 func BenchmarkPut(b *testing.B) {
18         buf := make([][4]byte, b.N)
19         for i := range buf {
20                 binary.LittleEndian.PutUint32(buf[i][:], uint32(i))
21         }
22
23         b.ResetTimer()
24         p := New(comparer.DefaultComparer, 0)
25         for i := range buf {
26                 p.Put(buf[i][:], nil)
27         }
28 }
29
30 func BenchmarkPutRandom(b *testing.B) {
31         buf := make([][4]byte, b.N)
32         for i := range buf {
33                 binary.LittleEndian.PutUint32(buf[i][:], uint32(rand.Int()))
34         }
35
36         b.ResetTimer()
37         p := New(comparer.DefaultComparer, 0)
38         for i := range buf {
39                 p.Put(buf[i][:], nil)
40         }
41 }
42
43 func BenchmarkGet(b *testing.B) {
44         buf := make([][4]byte, b.N)
45         for i := range buf {
46                 binary.LittleEndian.PutUint32(buf[i][:], uint32(i))
47         }
48
49         p := New(comparer.DefaultComparer, 0)
50         for i := range buf {
51                 p.Put(buf[i][:], nil)
52         }
53
54         b.ResetTimer()
55         for i := range buf {
56                 p.Get(buf[i][:])
57         }
58 }
59
60 func BenchmarkGetRandom(b *testing.B) {
61         buf := make([][4]byte, b.N)
62         for i := range buf {
63                 binary.LittleEndian.PutUint32(buf[i][:], uint32(i))
64         }
65
66         p := New(comparer.DefaultComparer, 0)
67         for i := range buf {
68                 p.Put(buf[i][:], nil)
69         }
70
71         b.ResetTimer()
72         for i := 0; i < b.N; i++ {
73                 p.Get(buf[rand.Int()%b.N][:])
74         }
75 }