Benchmark fixes
This commit is contained in:
parent
a28e69ddb0
commit
977b77463a
|
@ -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!"
|
||||
|
|
|
@ -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!"
|
|
@ -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();
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
set -Eeuxo pipefail
|
||||
|
||||
cargo run --release
|
||||
./target/release/minify-html-bench
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
set -Eeuxo pipefail
|
||||
|
||||
cargo run --release
|
||||
./target/release/minify-html-onepass-bench
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Reference in New Issue