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