fix vbtkey bug
This commit is contained in:
parent
c8af06bbab
commit
246b811818
@ -569,7 +569,7 @@ func BenchmarkGet(b *testing.B) {
|
|||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
b.StartTimer()
|
b.StartTimer()
|
||||||
|
|
||||||
execCount := 50
|
execCount := 10
|
||||||
b.N = len(l) * execCount
|
b.N = len(l) * execCount
|
||||||
|
|
||||||
for i := 0; i < execCount; i++ {
|
for i := 0; i < execCount; i++ {
|
||||||
|
@ -393,10 +393,10 @@ func (tree *Tree) getArountNode(key interface{}) (result [3]*Node) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tree *Tree) GetNode(value interface{}) (*Node, bool) {
|
func (tree *Tree) GetNode(key interface{}) (*Node, bool) {
|
||||||
|
|
||||||
for n := tree.root; n != nil; {
|
for n := tree.root; n != nil; {
|
||||||
switch c := tree.Compare(value, n.value); c {
|
switch c := tree.Compare(key, n.key); c {
|
||||||
case -1:
|
case -1:
|
||||||
n = n.children[0]
|
n = n.children[0]
|
||||||
case 1:
|
case 1:
|
||||||
@ -407,7 +407,7 @@ func (tree *Tree) GetNode(value interface{}) (*Node, bool) {
|
|||||||
iter := tree.iter
|
iter := tree.iter
|
||||||
iter.Prev()
|
iter.Prev()
|
||||||
for 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
|
n = iter.cur
|
||||||
} else {
|
} else {
|
||||||
break
|
break
|
||||||
|
@ -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) {
|
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) {
|
func BenchmarkSkipListSet(b *testing.B) {
|
||||||
|
|
||||||
l := loadTestData()
|
l := loadTestData()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user