@alexaegis/advent-of-code-lib
Version:
Advent of Code Library
31 lines (30 loc) • 783 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const benny = require("benny");
const saveDefaults = {
file: "reduce",
folder: ".benchmark/result"
};
const save = (saveOptions) => benny.save({
...saveDefaults,
...saveOptions
});
const cycleTime = (options) => {
const precision = options?.precision ?? 4;
return benny.cycle((c) => {
console.info(`${c.name}, mean: ${(c.details.mean * 1e3).toFixed(precision)}ms`);
});
};
const defaultBench = (name, ...cases) => {
return benny.suite(
name,
...cases,
cycleTime(),
benny.complete(),
save({ format: "table.html" }),
save({ format: "chart.html" }),
save({ format: "json" })
);
};
exports.cycleTime = cycleTime;
exports.defaultBench = defaultBench;