Skip to content

[Instructions -0.05% vs main; paired PGO estimate] Reuse argument lists when every related element is unchanged - #128

Draft
xmakro wants to merge 1 commit into
mainfrom
perf-review-20260907/15-reuse-related-arguments
Draft

[Instructions -0.05% vs main; paired PGO estimate] Reuse argument lists when every related element is unchanged#128
xmakro wants to merge 1 commit into
mainfrom
perf-review-20260907/15-reuse-related-arguments

Conversation

@xmakro

@xmakro xmakro commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Perform the existing element relations in order, then reuse the original interned list if all results match it. Allocate a replacement only from the first changed element, preserving unequal-length behavior.

Comparison Wall time Instructions Peak RSS
Complete PR vs main -0.051% -0.055% -0.142%
Profile, complete PR vs main Wall time
check +0.150%
debug -0.445%
opt +0.144%

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.055% and -0.055% 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: 5b9cb55764c68d1a61bf32ae66265602d3da0c3845749009f52603cb04098c71.

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

@xmakro xmakro changed the title [part of 0.874% Check instruction batch] Reuse argument lists when every related element is unchanged [Individual speedup unmeasured] Reuse argument lists when every related element is unchanged Sep 8, 2026
@xmakro
xmakro force-pushed the perf-review-20260907/14-binder-type-identity branch from e115452 to 751ac17 Compare September 9, 2026 06:21
@xmakro
xmakro force-pushed the perf-review-20260907/15-reuse-related-arguments branch from ffa70b5 to 12c4474 Compare September 9, 2026 06:21
@xmakro xmakro changed the title [Individual speedup unmeasured] Reuse argument lists when every related element is unchanged [Wall time -0.05% vs main; mixed repeat directions] Reuse argument lists when every related element is unchanged Sep 9, 2026
@xmakro
xmakro changed the base branch from perf-review-20260907/14-binder-type-identity to main September 9, 2026 06:21
@xmakro
xmakro force-pushed the perf-review-20260907/15-reuse-related-arguments branch from 12c4474 to d15c5ea Compare September 13, 2026 04:01
@xmakro
xmakro changed the base branch from main to perf-review-20260907/00-base September 13, 2026 04:22
@xmakro
xmakro changed the base branch from perf-review-20260907/00-base to main September 13, 2026 04:22
@xmakro xmakro changed the title [Wall time -0.05% vs main; mixed repeat directions] Reuse argument lists when every related element is unchanged [Instructions -0.05% vs main; paired PGO estimate] Reuse argument lists when every related element is unchanged 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