Latest Results
bench: drop the warm metadata walk from the hydration benchmarks (#7503)
test_hydration_metadata re-read the cached name, full name, parent and
root of every class in a 20- and a 200-substate tree. It came in with
#7064 to show the per-class metadata cache replacing the lru_cache whose
128-entry capacity the 200-class tree thrashed. With that cache in place
both sizes measure the same cache-hit path, and that path is almost
entirely CPython's type attribute cache and call specialization rather
than reflex code.
That makes it flip on CodSpeed with no related change: [200] alternates
between 1.7 and 1.8 ms (-6.9% on #7502, -7.7% on #7501), [20] between
207.6 and 216.7 us (-4.2% on #7410 and #7434, +4.3% on the changelog-only
#7445), while every other benchmark reports untouched.
Reproduced under callgrind with the same pytest-codspeed instrumentation
CI uses. Two runs of the module alone are byte-identical: 1,420,889 Ir
for [200]. Running test_state_access.py or test_state_delta.py first in
the same process gives 1,363,413 and 1,306,760 Ir (-4.0%, -8.0%) for the
unchanged function, while test_hydration_snapshot[200] moves about 1%
(5,335,449 to 5,392,507). The count depends on what the process did
before the benchmark, not on the code it measures, so no restructuring
of the body would settle it.
test_hydration_snapshot stays: it walks the same metadata on its way to
serializing the tree, so a regression in the metadata path still shows
up there, diluted by real work enough to sit under the threshold when
nothing changed.
The two removed benchmarks show as skipped on CodSpeed until they are
archived in the project settings.
Claude-Session: https://claude.ai/code/session_011LZPUJkHZur6LUinHeFpZT
Co-authored-by: Claude <noreply@anthropic.com> Latest Branches
0%
codex/fix-initial-token-guidance 0%
harsh21234i:fix/7481-unicode-string-slicing +11%
FarhanAliRaza:farhan/dev-fork-workers © 2026 CodSpeed Technology