Skip to content

Conversation

@jdonszelmann
Copy link
Contributor

@jdonszelmann jdonszelmann commented Nov 18, 2025

@bors2 try

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 18, 2025
@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 18, 2025
@jdonszelmann

This comment was marked as outdated.

@rust-timer

This comment was marked as outdated.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Nov 18, 2025
@jdonszelmann

This comment was marked as outdated.

@rust-bors

This comment was marked as outdated.

@jdonszelmann

This comment was marked as outdated.

@rust-timer

This comment was marked as outdated.

rust-bors bot added a commit that referenced this pull request Nov 18, 2025
@rust-bors

This comment has been minimized.

@jdonszelmann jdonszelmann force-pushed the duplicate-span-lowering branch from 7e0afd1 to e9ad039 Compare November 18, 2025 14:10
@jdonszelmann

This comment was marked as outdated.

@rust-bors

This comment was marked as outdated.

@jdonszelmann
Copy link
Contributor Author

@bors2 try @rust-timer queue

@rust-timer
Copy link
Collaborator

This pull request was already queued before and is awaiting a try build to finish.

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 18, 2025
@rust-bors
Copy link

rust-bors bot commented Nov 18, 2025

☀️ Try build successful (CI)
Build commit: a0c110f (a0c110f657f885a3fe1c9415cbffa402f2be5cb3, parent: f9e7961506a97b318ad4815b8ce94bb045562f89)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (a0c110f): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.1% [0.1%, 0.1%] 2
Regressions ❌
(secondary)
0.2% [0.2%, 0.2%] 7
Improvements ✅
(primary)
-0.8% [-2.9%, -0.1%] 4
Improvements ✅
(secondary)
-0.6% [-0.6%, -0.6%] 3
All ❌✅ (primary) -0.5% [-2.9%, 0.1%] 6

Max RSS (memory usage)

This benchmark run did not return any relevant results for this metric.

Cycles

Results (primary -2.4%, secondary 2.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.7% [2.7%, 2.7%] 1
Improvements ✅
(primary)
-2.4% [-2.4%, -2.4%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.4% [-2.4%, -2.4%] 1

Binary size

Results (primary -1.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.1% [-1.1%, -1.1%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.1% [-1.1%, -1.1%] 1

Bootstrap: 471.624s -> 473.081s (0.31%)
Artifact size: 388.73 MiB -> 388.78 MiB (0.01%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Nov 18, 2025
@jdonszelmann
Copy link
Contributor Author

welp, that seems worth it

@jdonszelmann
Copy link
Contributor Author

lemme clean it up and mark it ready

@jdonszelmann jdonszelmann force-pushed the duplicate-span-lowering branch from e9ad039 to 0087253 Compare November 18, 2025 19:09
@jdonszelmann
Copy link
Contributor Author

r? @oli-obk

@rustbot
Copy link
Collaborator

rustbot commented Nov 18, 2025

oli-obk is not on the review rotation at the moment.
They may take a while to respond.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Nov 18, 2025
@jdonszelmann jdonszelmann assigned WaffleLapkin and unassigned oli-obk Dec 7, 2025
@WaffleLapkin
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Dec 7, 2025

📌 Commit 0087253 has been approved by WaffleLapkin

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 7, 2025
@bors
Copy link
Collaborator

bors commented Dec 7, 2025

⌛ Testing commit 0087253 with merge fa1f706...

@bors
Copy link
Collaborator

bors commented Dec 7, 2025

☀️ Test successful - checks-actions
Approved by: WaffleLapkin
Pushing fa1f706 to main...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 7, 2025
@bors bors merged commit fa1f706 into rust-lang:main Dec 7, 2025
12 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Dec 7, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 7, 2025

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 1d6c526 (parent) -> fa1f706 (this PR)

Test differences

Show 2 test diffs

2 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard fa1f706fbd0fd1c02763ecb28915bf23c860cb32 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. aarch64-apple: 8994.2s -> 7065.9s (-21.4%)
  2. dist-aarch64-apple: 6440.3s -> 7552.3s (+17.3%)
  3. dist-x86_64-apple: 7541.4s -> 6608.8s (-12.4%)
  4. i686-gnu-2: 5270.3s -> 5737.9s (+8.9%)
  5. aarch64-gnu-llvm-20-2: 2315.4s -> 2116.6s (-8.6%)
  6. test-various: 6542.9s -> 6042.8s (-7.6%)
  7. x86_64-gnu: 6512.8s -> 7006.1s (+7.6%)
  8. aarch64-msvc-1: 7198.3s -> 6662.3s (-7.4%)
  9. dist-apple-various: 3671.0s -> 3909.5s (+6.5%)
  10. pr-check-2: 2156.0s -> 2290.2s (+6.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (fa1f706): comparison URL.

Overall result: ❌ regressions - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.3% [0.1%, 0.8%] 70
Regressions ❌
(secondary)
0.4% [0.0%, 0.8%] 73
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.1%, 0.8%] 70

Max RSS (memory usage)

Results (secondary -2.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.2% [-2.2%, -2.2%] 1
All ❌✅ (primary) - - 0

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

Results (primary 0.0%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.0%] 27
Regressions ❌
(secondary)
0.1% [0.0%, 0.1%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.0%] 27

Bootstrap: 470.852s -> 468.293s (-0.54%)
Artifact size: 388.93 MiB -> 389.00 MiB (0.02%)

@nnethercote
Copy link
Contributor

@jdonszelmann Final version results are very different to the original. Revert?

@jdonszelmann
Copy link
Contributor Author

that's wild, I cannot imagine this to be anything but a perf improvement

@jdonszelmann
Copy link
Contributor Author

are we sure this is accurate? I'm getting 502s (@Kobzol) on a bunch of the detailed pages

@jdonszelmann
Copy link
Contributor Author

I guess I'll at least prep a revert yea

@Kobzol
Copy link
Member

Kobzol commented Dec 8, 2025

This master commit was used as the parent of a perf. run where I also benchmarked Cranelift (that causes the benchmark failures and the 502 links). However, the comment was created before that Cranelift run started, so I think that it should be the cause.

If you can create a revert and do a perf.run on it, that should confirm it.

@lqd
Copy link
Member

lqd commented Dec 8, 2025

Are the benchmark sets in production already? And if so, wouldn't they incur a period of noise while their significance thresholds adjust to the new collectors' behavior?

@Kobzol
Copy link
Member

Kobzol commented Dec 8, 2025

We still run only on one collector right now, the second is idle. (I want to change that today though 😅)

@panstromek
Copy link
Contributor

perf triage:

Marking as triaged, based on the discussion above.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Dec 8, 2025
bors added a commit that referenced this pull request Dec 9, 2025
…r=nnethercote

Revert "early return on duplicate span lowerings"

r? `@nnethercote`

reverts #149060 because of perf regressions that are still wild to me
github-actions bot pushed a commit to rust-lang/rust-analyzer that referenced this pull request Dec 15, 2025
…r=nnethercote

Revert "early return on duplicate span lowerings"

r? `@nnethercote`

reverts rust-lang/rust#149060 because of perf regressions that are still wild to me
makai410 pushed a commit to makai410/rust that referenced this pull request Dec 16, 2025
…, r=WaffleLapkin

early return on duplicate span lowerings

`@bors2` try
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants