[codex] Speed up numeric array guard cache hits#5309
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
713a7b6 to
9667292
Compare
6a01499 to
6b54bf6
Compare
9667292 to
9bacb98
Compare
6b54bf6 to
0f46886
Compare
9bacb98 to
8a6db40
Compare
0f46886 to
3b00735
Compare
8a6db40 to
2095f68
Compare
3b00735 to
83aa967
Compare
2095f68 to
7f98910
Compare
|
Closing as superseded. Since this codex stack was cut, main advanced 52+ commits and independently evolved the same hot codegen/runtime paths. This PR is one link in a 13-deep linear stack that conflicts with diverged, correctness-sensitive codegen and was never reviewed; landing it would mean rebasing the whole stack. Per-PR judgement was done before closing. Specific: main already uses direct-mapped inline caches on the hot object paths (crates/perry-runtime/src/object/mod.rs:1098, alloc.rs:362, field_get_set.rs:5193). The typed-feedback array-guard cache variant here is the only arguably net-new piece, but it's entangled with main's diverged typed_feedback.rs and unreviewed — better re-proposed fresh against current main if it still measures as a win. |
Stacked on #5307.
Summary
classify_arraywork on exact monomorphic numeric-array guard-cache hits.guard_observefallback for miss, stale, mismatch, nonnumeric, and layout-mismatch paths.Benchmark Impact
Baseline: #5307 /
6a01499d4f.41079519680.Validation
cargo fmt --checkgit diff --checkcargo test -p perry-runtime typed_feedback_numeric_arraycargo test -p perry-runtime typed_feedbackcargo test -p perry-codegen --test typed_feedbackcargo test -p perry-codegen --test typed_shape_descriptorsPERRY_BIN=target/release/perry python3 tests/test_typed_feedback_runtime_evidence.pytests/test_benchmark_output_verifier.shcargo build --releasebenchmarks/quick.shbenchmarks/compare.sh --quick --runs 3 --warn-only --json-out /tmp/perry-guard-precheck-final2.jsonPERF_RUN_LOG.md.