diff --git a/vbt/vbt_test.go b/vbt/vbt_test.go index 4da788f..1c59614 100644 --- a/vbt/vbt_test.go +++ b/vbt/vbt_test.go @@ -569,7 +569,7 @@ func BenchmarkGet(b *testing.B) { b.ResetTimer() b.StartTimer() - execCount := 50 + execCount := 10 b.N = len(l) * execCount for i := 0; i < execCount; i++ { diff --git a/vbtkey/vbtkey.go b/vbtkey/vbtkey.go index 144fae6..404603f 100644 --- a/vbtkey/vbtkey.go +++ b/vbtkey/vbtkey.go @@ -393,10 +393,10 @@ func (tree *Tree) getArountNode(key interface{}) (result [3]*Node) { return } -func (tree *Tree) GetNode(value interface{}) (*Node, bool) { +func (tree *Tree) GetNode(key interface{}) (*Node, bool) { for n := tree.root; n != nil; { - switch c := tree.Compare(value, n.value); c { + switch c := tree.Compare(key, n.key); c { case -1: n = n.children[0] case 1: @@ -407,7 +407,7 @@ func (tree *Tree) GetNode(value interface{}) (*Node, bool) { iter := tree.iter iter.Prev() for iter.Prev() { - if tree.Compare(iter.cur.value, n.value) == 0 { + if tree.Compare(iter.cur.key, n.key) == 0 { n = iter.cur } else { break diff --git a/vbtkey/vbtkey_test.go b/vbtkey/vbtkey_test.go index f0b2064..a4379d2 100644 --- a/vbtkey/vbtkey_test.go +++ b/vbtkey/vbtkey_test.go @@ -391,33 +391,6 @@ ALL: } } -func BenchmarkSkipListGet(b *testing.B) { - sl := skiplist.New(skiplist.Int) - l := loadTestData() - b.N = len(l) - - for _, v := range l { - sl.Set(v, v) - } - - b.ResetTimer() - b.StartTimer() - - execCount := 5 - b.N = len(l) * execCount - - for i := 0; i < execCount; i++ { - for _, v := range l { - e := sl.Get(v) - var result [50]interface{} - for i := 0; i < 50 && e != nil; i++ { - result[i] = e.Value - e = e.Next() - } - } - } -} - func BenchmarkGetRange(b *testing.B) { } @@ -444,6 +417,34 @@ func BenchmarkIndexRange(b *testing.B) { } } +func BenchmarkSkipListGet(b *testing.B) { + sl := skiplist.New(skiplist.Int) + l := loadTestData() + b.N = len(l) + + for _, v := range l { + sl.Set(v, v) + } + + b.ResetTimer() + b.StartTimer() + + execCount := 5 + b.N = len(l) * execCount + + for i := 0; i < execCount; i++ { + for _, v := range l { + sl.Get(v) + // e := sl.Get(v) + // var result [50]interface{} + // for i := 0; i < 50 && e != nil; i++ { + // result[i] = e.Value + // e = e.Next() + // } + } + } +} + func BenchmarkSkipListSet(b *testing.B) { l := loadTestData()