Skip to content

[Instructions -0.13% vs main; paired PGO estimate] Check trivial MIR sizedness before interning an obligation - #133

Draft
xmakro wants to merge 1 commit into
mainfrom
perf-review-20260907/20-borrowck-sized-before-intern
Draft

[Instructions -0.13% vs main; paired PGO estimate] Check trivial MIR sizedness before interning an obligation#133
xmakro wants to merge 1 commit into
mainfrom
perf-review-20260907/20-borrowck-sized-before-intern

Conversation

@xmakro

@xmakro xmakro commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Apply the existing trivial Sized reasoning before creating the MIR assignment trait reference and predicate. Preserve the lang-item requirement, solver mode, snapshot and pending-region guards.

Comparison Wall time Instructions Peak RSS
Complete PR vs main +0.026% -0.127% -0.026%
Profile, complete PR vs main Wall time
check -0.003%
debug +0.044%
opt +0.036%

Negative percentages mean less elapsed time or fewer resources. The title is an individual local instruction-count estimate: instructions:u as an equal-case geometric mean over the 249 Primary cases, the metric the upstream perf bot summarizes; small changes may be measurement noise.

The two recorded repetitions give aggregate instruction estimates of -0.126% and -0.127% for the title comparison. Mixed directions are marked in the title. This repeatability check is not a confidence interval.

Both compilers use the same source base, CI LLVM, fixed standard libraries, ThinLTO and jemalloc. Each has separate nine-workload Rust PGO training. The stock collector measures all 20 Primary benchmarks: 249 Check/Debug/Opt and full/incremental cases, two observations per compiler per case, alternating baseline/candidate order by crate. No other campaign builds run during measurement. Percentages are equal-case geometric means. LLVM retraining and BOLT are omitted.

This branch has one commit directly on main. Its exact measured source passed the full UI and incremental suites plus the additional suites recorded in the build provenance.

Required support copied without the other optimizations: has_pending_region_state accessor from PR 115; no type-op early return.

Fixed main commit: da47efd27287edb02eed0b5a178a165c8f258e37. Measured source patch SHA-256: fb31639d2a9d5a0d44f9d42a1f933a678821b72b2004e30fdf4ddc2db6077fbd.

Local raw measurements and per-case CSVs: independent-pr133-main-v1-comparison.csv in the September 6 investigation directory. Build/test provenance: pgo/independent-pr133-source-timing-v1/provenance.json.

@xmakro xmakro changed the title [0.123% fewer Check instructions] Check trivial MIR sizedness before interning an obligation [Check instructions -0.123%; isolated pre-PGO screen] Check trivial MIR sizedness before interning an obligation Sep 8, 2026
@xmakro
xmakro force-pushed the perf-review-20260907/19-resolved-value-fold branch from 5a46fc2 to 667a2c9 Compare September 9, 2026 06:21
@xmakro
xmakro force-pushed the perf-review-20260907/20-borrowck-sized-before-intern branch from c435c81 to 25abaad Compare September 9, 2026 06:21
@xmakro xmakro changed the title [Check instructions -0.123%; isolated pre-PGO screen] Check trivial MIR sizedness before interning an obligation [Wall time +0.03% vs main; paired PGO estimate] Check trivial MIR sizedness before interning an obligation Sep 9, 2026
@xmakro
xmakro changed the base branch from perf-review-20260907/19-resolved-value-fold to main September 9, 2026 06:21
@xmakro
xmakro force-pushed the perf-review-20260907/20-borrowck-sized-before-intern branch from 25abaad to 765476f Compare September 13, 2026 04:01
@xmakro
xmakro changed the base branch from main to perf-review-20260907/00-base September 13, 2026 04:23
@xmakro
xmakro changed the base branch from perf-review-20260907/00-base to main September 13, 2026 04:23
@xmakro xmakro changed the title [Wall time +0.03% vs main; paired PGO estimate] Check trivial MIR sizedness before interning an obligation [Instructions -0.13% vs main; paired PGO estimate] Check trivial MIR sizedness before interning an obligation Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant