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
{{ message }}
Tracking slowdown introduced sometime before v5.2.2 release was made #1180
While performing timing studies for the low-p tracking upgrade, we stumbled upon a slowdown in the code introduced sometime between the version being used for MC production (~June 2026) and when v5.2.2 was released (~early August 2026).
The "static-final debug" is the fixed version. The cause of the slowdown in v5.2 was commit 44ee666 changed the debug field in
KalmanPatRecHPS.java from a compile-time constant
so that Kalman tracing could be armed for a single event number via
KalmanParams.debugEvent, without recompiling.
Because debug is no longer a compile-time constant, javac can no longer
dead-code-eliminate the ~150 "if (debug) ..." blocks scattered through
kalmanPatRec(). This bloated the method's compiled bytecode from ~8,000
bytes to ~15,387 bytes -- past HotSpot's HugeMethodLimit (default 8,000
bytes) -- which permanently disqualifies the method from C2 JIT
compilation. The method has run interpreted-only ever since.
The fix is to change this back to static final....
The plot below shows a complicated run-down of the different versions and samples tested.
Activity