Benchmark fixes

This commit is contained in:
Wilson Lin 2021-08-08 21:20:06 +10:00
parent a28e69ddb0
commit 977b77463a
7 changed files with 51 additions and 25 deletions

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash
set -e
set -Eeuo pipefail
shopt -s nullglob
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
@ -9,12 +10,19 @@ done
results_dir="$PWD/results"
input_dir="$PWD/inputs"
iterations=100
iterations=1
pushd runners
pushd runners >/dev/null
for r in *; do
pushd "$r"
./build
sudo --preserve-env=MHB_HTML_ONLY,PATH MHB_ITERATIONS=$iterations MHB_INPUT_DIR="$input_dir" nice -n -20 taskset -c 1 ./run | tee "$results_dir/$r.json"
popd
if [ ! -d "$r" ]; then
continue
fi
echo "Running $r..."
pushd "$r" >/dev/null
out="$results_dir/$r.json"
sudo --preserve-env=MHB_HTML_ONLY,PATH MHB_ITERATIONS=$iterations MHB_INPUT_DIR="$input_dir" nice -n -20 taskset -c 1 ./run > "$out"
popd >/dev/null
done
popd >/dev/null
echo "All done!"

19
bench/build.sh Normal file
View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -Eeuo pipefail
shopt -s nullglob
pushd runners >/dev/null
for r in *; do
if [ ! -d "$r" ]; then
continue
fi
echo "Building $r..."
pushd "$r" >/dev/null
./build
popd >/dev/null
done
popd >/dev/null
echo "All done!"

View File

@ -7,6 +7,18 @@ const iterations = parseInt(process.env.MHB_ITERATIONS, 10);
const inputDir = process.env.MHB_INPUT_DIR;
const htmlOnly = process.env.MHB_HTML_ONLY === "1";
const esbuildCss = (code) =>
esbuild.transformSync(code, {
loader: "css",
minify: true,
}).code;
const esbuildJs = (code) =>
esbuild.transformSync(code, {
loader: "js",
minify: true,
}).code;
const htmlMinifierCfg = {
collapseBooleanAttributes: true,
collapseInlineTagWhitespace: true,
@ -33,18 +45,6 @@ const htmlMinifierCfg = {
useShortDoctype: true,
};
const esbuildCss = (code) =>
esbuild.transformSync(code, {
loader: "css",
minify: true,
}).code;
const esbuildJs = (code) =>
esbuild.transformSync(code, {
loader: "js",
minify: true,
}).code;
const results = fs.readdirSync(inputDir).map((name) => {
const src = fs.readFileSync(path.join(inputDir, name), "utf8");
const start = process.hrtime.bigint();

View File

@ -2,4 +2,4 @@
set -Eeuxo pipefail
cargo run --release
./target/release/minify-html-bench

View File

@ -22,8 +22,7 @@ fn main() {
let source = fs::read(t.path()).unwrap();
let start = Instant::now();
for _ in 0..iterations {
let data = source.to_vec();
minify(&source, &cfg);
let _ = minify(&source, &cfg);
};
let elapsed = start.elapsed().as_secs_f64();
results.push((t.file_name().into_string().unwrap(), elapsed));

View File

@ -2,4 +2,4 @@
set -Eeuxo pipefail
cargo run --release
./target/release/minify-html-onepass-bench

View File

@ -12,7 +12,7 @@ fn main() {
let tests = fs::read_dir(input_dir).unwrap().map(|d| d.unwrap());
let mut results: Vec<(String, f64)> = Vec::new();
let mut cfg = Cfg {
let cfg = Cfg {
minify_css: !html_only,
minify_js: !html_only,
};
@ -22,7 +22,7 @@ fn main() {
let start = Instant::now();
for _ in 0..iterations {
let mut data = source.to_vec();
let _ = in_place(&mut data, &cfg).unwrap();
let _ = in_place(&mut data, &cfg).expect("failed to minify");
};
let elapsed = start.elapsed().as_secs_f64();
results.push((t.file_name().into_string().unwrap(), elapsed));