minify-html/bench/runners/@minify-html%2Fjs/index.js

33 lines
985 B
JavaScript
Raw Normal View History

2021-08-08 07:01:37 -04:00
const fs = require("fs");
const minifyHtml = require("@minify-html/js");
const path = require("path");
const iterations = parseInt(process.env.MHB_ITERATIONS, 10);
const inputDir = process.env.MHB_INPUT_DIR;
const htmlOnly = process.env.MHB_HTML_ONLY === "1";
2021-08-09 06:42:47 -04:00
const outputDir = process.env.MHB_OUTPUT_DIR;
2021-08-08 07:01:37 -04:00
const minifyHtmlCfg = minifyHtml.createConfiguration({
minify_css: !htmlOnly,
minify_js: !htmlOnly,
});
const results = fs.readdirSync(inputDir).map((name) => {
const src = fs.readFileSync(path.join(inputDir, name));
2021-08-09 06:42:47 -04:00
const out = minifyHtml.minify(src, minifyHtmlCfg);
const len = out.byteLength;
if (outputDir) {
fs.writeFileSync(path.join(outputDir, name), out);
}
2021-08-08 07:01:37 -04:00
const start = process.hrtime.bigint();
for (let i = 0; i < iterations; i++) {
2021-08-09 06:42:47 -04:00
minifyHtml.minify(src, minifyHtmlCfg);
2021-08-08 07:01:37 -04:00
}
const elapsed = process.hrtime.bigint() - start;
2021-08-09 06:42:47 -04:00
2021-08-08 09:11:05 -04:00
return [name, len, iterations, Number(elapsed) / 1_000_000_000];
2021-08-08 07:01:37 -04:00
});
console.log(JSON.stringify(results));