Repository navigation
fix(core): compile analysis workloads eagerly with sparkplug - #104
not-matthias wants to merge 1 commit into
Conversation
[Medium impact] The change affects CodSpeed’s analysis-mode benchmark runs. The change appears safe to merge, with non-blocking follow-ups for consistent runner flags and regression tests.
|
Merging this PR will regress 43 benchmarks3 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
Avoid dependence on Sparkplug tiering and compilation batches during analysis measurements. Keep optimizing compilers disabled and walltime unchanged.
8dcd85b to
8ecc3ba
Compare
Add
--always-sparkplugto analysis-mode V8 flags so eligible functions compile directly to baseline machine code instead of depending on tiering and shared compilation batches. This reduces sensitivity to unrelated benchmark setup changing when compilation happens.Simulation (including the instrumentation alias) and memory mode are affected. TurboFan and Maglev remain disabled; walltime is unchanged. Existing measurements will shift baseline, and inline-cache feedback remains shared.
Verified on Node 24.21.0 using the actual generated flags: a first-call function has BASELINE code in all three analysis-mode aliases. Walltime and disabled mode do not receive the flag. Core typecheck, lint, and formatting passed; the core unit-test command found no tests. The full build was blocked by missing native instrument-hook headers (
hooks/includes/core.h). Real-runner variance measurements are still needed before merging; this PR does not claim to reproduce the reported benchmark improvement.Validated that it improves variance, see Linear.