fix: show all build phases in benchmark report#339
Conversation
The phase breakdown table in BUILD-BENCHMARKS.md was missing astMs, cfgMs, dataflowMs, and wasmPreMs — phases that account for ~75% of native build time since v3.0.1. Add them to phaseKeys/phaseLabels in update-benchmark-report.js so future regenerations include them. Also add a notes section explaining the v3.0.0→v3.0.3 regression: the four new default-on phases total ~1,575ms, and the WASM pre-parse double-parses all files on native builds because CFG/dataflow/complexity are JS-only and need tree-sitter ASTs the native engine doesn't expose.
|
Claude finished @carlos-alm's task —— View job PR Review Complete ⭐⭐⭐⭐Reviewing this PR to fix benchmark phase reporting. Following the 4-phase review process: Todo List
Root Cause AnalysisProblem Being Solved: This addresses a legitimate visibility issue where 4 critical build phases ( Why This Approach: This is the correct fix - the phases existed in the data but were excluded from the display logic. The approach exposes existing data rather than masking problems. Risk Assessment: ✅ LOW RISK - This is purely a reporting/documentation fix that reveals existing performance data. Critical ConcernsNONE - This PR passes all red flag checks:
Code Quality AssessmentWhat Changed
Technical Review
Performance Context ValidationFrom the data, these phases represent significant work:
Final Recommendation
Minor Enhancement Opportunity: The phase ordering could be further optimized to match actual execution order, but this is cosmetic and doesn't affect the data accuracy. |
Greptile SummaryThis PR fixes the benchmark report to show all build phases. The changes add four missing phase keys ( The PR also adds a detailed note to Confidence Score: 5/5
Important Files Changed
Last reviewed commit: 886ec7b |
Summary
astMs,cfgMs,dataflowMs,wasmPreMsRoot cause of regression
The native build time tripled not because existing phases got slower, but because four new phases became default-on in v3.0.1:
The WASM pre-parse is particularly wasteful: on native builds, all files get parsed twice (Rust 85ms + WASM 388ms) because CFG/dataflow/complexity are JS code that needs tree-sitter AST trees the native engine doesn't expose.
Test plan
NOTES_START/NOTES_ENDmarkers