chore: bind walltime bench to dedicated CPUs test#14328
Conversation
📦 Binary Size-limit
🙈 Size remains the same at 62.60MB |
Rsdoctor Bundle Diff AnalysisFound 5 projects in monorepo, 2 projects with changes. 📊 Quick Summary
📋 Detailed Reports (Click to expand)📁 popular-libsPath:
📦 Download Diff Report: popular-libs Bundle Diff 📁 ui-componentsPath:
📦 Download Diff Report: ui-components Bundle Diff 🤖 AI Degradation Analysis (Click to expand)📁 popular-libs📊 Size ChangesNo significant regressions detected 🎉. Total bundle size decreased slightly from 1,806,629 bytes to 1,806,603 bytes (-26 bytes). Initial JS chunk also reduced (1,806,340 → 1,806,314 bytes). 🔍 Root Cause Analysis
|
There was a problem hiding this comment.
Pull request overview
This PR updates the Rust benchmarking GitHub Actions workflow to pin the walltime benchmark execution to a specific CPU set, aiming to reduce scheduling noise and improve measurement stability.
Changes:
- Wrap walltime benchmark commands with
taskset -c 300-315to bind execution to dedicated CPUs. - Apply CPU pinning to both
cargo codspeed run ...andpnpm run bench:rustpaths in the walltime step.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| taskset -c 300-315 env RSPACK_BENCHCASES_DIR=$PWD/.bench/rspack-benchcases cargo codspeed run "${bench_args[@]}" | ||
| else | ||
| pnpm run bench:rust | ||
| taskset -c 300-315 pnpm run bench:rust |
Merging this PR will improve performance by 27.43%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | WallTime | bundle@threejs-10x-development |
309.7 ms | 196.7 ms | +57.41% |
| ⚡ | WallTime | bundle@threejs-10x-production-sourcemap |
600.8 ms | 470.1 ms | +27.8% |
| ⚡ | Simulation | js@collect imported identifiers |
229 µs | 222.6 µs | +2.87% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing p/fenghao.0721/cpu-bind (a0be044) with main (6cf4019)
Footnotes
-
40 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
2558605 to
ab4ac3c
Compare
bind walltime bench to dedicated CPUs