You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## What
Adds the `/benches` site page as a latest benchmark/eval snapshot, with
links to the latest Markdown reports and result folders.
## Why
Bench, Criterion, and eval artifacts were hard to inspect together. The
site now gives a simple current-state view while keeping raw reports one
click away.
## How
- Aggregates saved benchmark, Criterion, and eval artifacts with
`site/scripts/build-performance-data.mjs`
- Renders `/benches` from generated `performance-timeline.json`
- Adds result-folder/report links, category descriptions, latest-run
values, and clearer eval pass-rate labels
- Adds `specs/performance-results.md` and updates run recipes so saved
bench/eval runs refresh the site data
- Fixes `bashkit-bench --save path/to/file.json` so custom output
directories are preserved
## Risk
- Low
- Site data could become stale if result schemas change without updating
the transformer; the new spec calls this out and `prebuild` regenerates
the data.
## Checklist
- [x] Tests added or updated
- [x] Backward compatibility considered
- [x] `just pre-pr`
- [x] `pnpm run build`
- [x] Browser smoke test for `/benches`
Copy file name to clipboardExpand all lines: justfile
+29-17Lines changed: 29 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -124,63 +124,75 @@ run-script file:
124
124
125
125
# === Benchmarks ===
126
126
127
-
# Run benchmarks comparing bashkit to bash
127
+
# Run benchmarks comparing bashkit to bash and save site-indexed JSON/Markdown results
128
128
bench:
129
-
cargo run -p bashkit-bench --release
129
+
cargo run -p bashkit-bench --release -- --save
130
+
pnpm --dir site run data:performance
130
131
131
-
# Run benchmarks and save results to JSON
132
-
bench-savefile="bench-results.json":
132
+
# Run benchmarks and save results to JSON/Markdown
133
+
bench-savefile="":
133
134
cargo run -p bashkit-bench --release -- --save {{file}}
135
+
pnpm --dir site run data:performance
134
136
135
-
# Run benchmarks with verbose output
137
+
# Run benchmarks with verbose output and save site-indexed JSON/Markdown results
136
138
bench-verbose:
137
-
cargo run -p bashkit-bench --release -- --verbose
139
+
cargo run -p bashkit-bench --release -- --verbose --save
140
+
pnpm --dir site run data:performance
138
141
139
-
# Run specific benchmark category (startup, variables, arithmetic, control, strings, arrays, pipes, tools, complex)
142
+
# Exploratory: run specific benchmark category without updating site results (startup, variables, arithmetic, control, strings, arrays, pipes, tools, complex)
140
143
bench-categorycat:
141
144
cargo run -p bashkit-bench --release -- --category {{cat}}
142
145
143
-
# Run benchmarks with more iterations for accuracy
146
+
# Run benchmarks with more iterations for accuracy and save site-indexed JSON/Markdown results
144
147
bench-accurate:
145
-
cargo run -p bashkit-bench --release -- --iterations 50 --warmup 5
0 commit comments