@thi.ng/bench
Version:
Benchmarking & profiling utilities w/ various statistics & formatters (CSV, JSON, Markdown etc.)
19 lines (18 loc) • 500 B
JavaScript
import { benchmark, DEFAULT_OPTS, outputString } from "./benchmark.js";
const suite = (cases, opts) => {
const _opts = {
...DEFAULT_OPTS,
...opts
};
_opts.output && outputString(_opts.format.prefix());
const results = [];
for (let c of cases) {
results.push(benchmark(c.fn, { ..._opts, ...c.opts, title: c.title }));
}
_opts.output && outputString(_opts.format.total(results));
_opts.output && outputString(_opts.format.suffix());
return results;
};
export {
suite
};