Skip to content

Commit 85f229a

Browse files
committed
Benchmarks for diff on cloned trees
1 parent 13da159 commit 85f229a

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

benchmarks.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ console.log("### Measure effect of max node size ###");
313313
}
314314

315315
console.log();
316-
console.log("### Delta between B+ trees with various sizes");
316+
console.log("### Delta between B+ trees");
317317
{
318318
console.log();
319319
const sizes = [100, 1000, 10000, 100000, 1000000];
@@ -334,4 +334,23 @@ console.log("### Delta between B+ trees with various sizes");
334334
});
335335
}
336336
})
337+
338+
console.log();
339+
sizes.forEach((size, i) => {
340+
for (let j = i; j < sizes.length; j++) {
341+
const otherSize = sizes[j];
342+
const keys = makeArray(size + otherSize, true);
343+
const tree = new BTree();
344+
for (let k of keys.slice(0, size))
345+
tree.set(k, k * 10);
346+
347+
const otherTree = tree.clone();
348+
for (let k of keys.slice(size))
349+
tree.set(k, k * 10);
350+
351+
measure(() => `Delta between B+tree with ${size} nodes and cheap cloned B+tree with ${otherSize} additional nodes`, () => {
352+
tree.diffAgainst(otherTree);
353+
});
354+
}
355+
})
337356
}

0 commit comments

Comments
 (0)