Skip to content

[Instructions -0.16% vs main; paired PGO estimate] Avoid small macro matching and transcription allocations - #136

Draft
xmakro wants to merge 1 commit into
mainfrom
perf-review-20260907/23-macro-allocation
Draft

[Instructions -0.16% vs main; paired PGO estimate] Avoid small macro matching and transcription allocations#136
xmakro wants to merge 1 commit into
mainfrom
perf-review-20260907/23-macro-allocation

Conversation

@xmakro

@xmakro xmakro commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Preallocate known capacities and skip the binding scan when a matcher has no bindings.

Comparison Wall time Instructions Peak RSS
Complete PR vs main -0.070% -0.159% -0.462%
Profile, complete PR vs main Wall time
check +0.130%
debug -0.297%
opt -0.043%

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.158% and -0.160% 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.

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

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

@xmakro xmakro changed the title [part of 0.332% Check instruction batch] Avoid small macro matching and transcription allocations [Individual speedup unmeasured] Avoid small macro matching and transcription allocations Sep 8, 2026
@xmakro
xmakro force-pushed the perf-review-20260907/22-marker-first-context branch from 3f21f3d to e77b9b0 Compare September 9, 2026 06:21
@xmakro
xmakro force-pushed the perf-review-20260907/23-macro-allocation branch from e20654a to 7f5ef79 Compare September 9, 2026 06:21
@xmakro xmakro changed the title [Individual speedup unmeasured] Avoid small macro matching and transcription allocations [Wall time -0.07% vs main; paired PGO estimate] Avoid small macro matching and transcription allocations Sep 9, 2026
@xmakro
xmakro changed the base branch from perf-review-20260907/22-marker-first-context to main September 9, 2026 06:21
@xmakro
xmakro force-pushed the perf-review-20260907/23-macro-allocation branch from 7f5ef79 to 6141e63 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.07% vs main; paired PGO estimate] Avoid small macro matching and transcription allocations [Instructions -0.16% vs main; paired PGO estimate] Avoid small macro matching and transcription allocations 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