-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Description
test scenario
import {bench, group, run} from "mitata";
import createTree from "functional-red-black-tree";
const iterations = 100_000;
group("Ordered structures", () => {
bench("baseline", () => {
const q = [];
for (let i = iterations; i > 0; i--) {
q.push(i);
}
});
bench("red-black", () => {
let tree = createTree(function (a, b) {
return a - b;
});
for (let i = iterations; i > 0; i--) {
tree = tree.insert(i, i);
}
});
});
await run();
Node 20 runtime
cpu: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
runtime: node v20.0.0 (x64-linux)
benchmark time (avg) (min … max) p75 p99 p995
------------------------------------------------- -----------------------------
• Ordered structures
------------------------------------------------- -----------------------------
baseline 1.14 ms/iter (892.31 µs … 2.54 ms) 982.98 µs 2.28 ms 2.34 ms
red-black 56.57 ms/iter (54.31 ms … 59 ms) 57.97 ms 59 ms 59 ms
summary for Ordered structures
baseline
49.8x faster than red-black
Bun runtime
cpu: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
runtime: bun 0.5.9 (x64-linux)
benchmark time (avg) (min … max) p75 p99 p995
------------------------------------------------- -----------------------------
• Ordered structures
------------------------------------------------- -----------------------------
baseline 520.24 µs/iter (429.55 µs … 1.53 ms) 510.55 µs 1.21 ms 1.29 ms
red-black 96.43 ms/iter (85.09 ms … 109.33 ms) 100.35 ms 109.33 ms 109.33 ms
summary for Ordered structures
baseline
185.35x faster than red-black
Metadata
Metadata
Assignees
Labels
No labels