Skip to content

Commit 1c69cc6

Browse files
committed
better removal bench
1 parent 9a0ed8f commit 1c69cc6

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

bench.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,26 +120,42 @@ new Benchmark.Suite()
120120
.on('cycle', function(event) { console.log(String(event.target)); }).run();
121121

122122

123-
console.log('\nremove ' + N + ' items one by one');
123+
console.log('\ninsert ' + N + ' items and then remove one by one');
124124

125125
new Benchmark.Suite()
126126
.add('llrb', function () {
127+
var lltree = llrb(compare);
127128
for (var i = 0; i < N; i++) {
129+
lltree.insert(data[i]);
130+
}
131+
for (i = 0; i < N; i++) {
128132
lltree.remove(data[i]);
129133
}
130134
})
131135
.add('bsarray', function () {
136+
var arr = bsarray(compare);
137+
for (var i = 0; i < N; i++) {
138+
arr.insert(data[i]);
139+
}
132140
for (var i = 0; i < N; i++) {
133141
var index = arr.find(data[i]);
134142
if (index !== null) arr.removeAt(index);
135143
}
136144
})
137145
.add('functional-red-black-tree', function () {
146+
var rbtree = functionalRBTree(compare);
138147
for (var i = 0; i < N; i++) {
148+
rbtree = rbtree.insert(data[i]);
149+
}
150+
for (i = 0; i < N; i++) {
139151
rbtree.remove(data[i]);
140152
}
141153
})
142154
.add('jsbintrees RBTree', function () {
155+
var bintree = new bintrees.RBTree(compare);
156+
for (var i = 0; i < N; i++) {
157+
bintree.insert(data[i]);
158+
}
143159
for (var i = 0; i < N; i++) {
144160
bintree.remove(data[i]);
145161
}

0 commit comments

Comments
 (0)