fix vbtkey bug

This commit is contained in:
eson 2019-04-08 20:14:12 +08:00
parent c8af06bbab
commit 246b811818
3 changed files with 32 additions and 31 deletions

View File

@ -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++ {

View File

@ -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

View File

@ -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()