rust icon indicating copy to clipboard operation
rust copied to clipboard

[perf] Tweak `GenericArgs`-related functions

Open fmease opened this issue 6 months ago • 5 comments

fmease avatar Jun 10 '25 09:06 fmease

@bors2 try @rust-timer queue

fmease avatar Jun 10 '25 10:06 fmease

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

rust-timer avatar Jun 10 '25 10:06 rust-timer

:hourglass: Trying commit 5ed5135a678cb366b025188806b2b498509ddd60 with merge c7e6accd79d91fe5dec01a81499a08f9db280440…

To cancel the try build, run the command @bors2 try cancel.

rust-bors[bot] avatar Jun 10 '25 10:06 rust-bors[bot]

:sunny: Try build successful (CI) Build commit: c7e6accd79d91fe5dec01a81499a08f9db280440 (c7e6accd79d91fe5dec01a81499a08f9db280440)

rust-bors[bot] avatar Jun 10 '25 12:06 rust-bors[bot]

Queued c7e6accd79d91fe5dec01a81499a08f9db280440 with parent 40daf23eeb711dadf140b2536e67e3ff4c999196, future comparison URL. There are currently 3 preceding artifacts in the queue. It will probably take at least ~5.0 hours until the benchmark run finishes.

rust-timer avatar Jun 10 '25 12:06 rust-timer

Finished benchmarking commit (c7e6accd79d91fe5dec01a81499a08f9db280440): comparison URL.

Overall result: ✅ improvements - no action needed

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.

@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
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 1
Improvements ✅
(primary)
-0.2% [-0.4%, -0.1%] 14
Improvements ✅
(secondary)
-1.7% [-5.6%, -0.2%] 11
All ❌✅ (primary) -0.2% [-0.4%, -0.1%] 14

Max RSS (memory usage)

Results (primary -9.0%, 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)
-9.0% [-9.0%, -9.0%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -9.0% [-9.0%, -9.0%] 1

Cycles

Results (secondary -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)
2.3% [2.3%, 2.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.8% [-3.0%, -2.6%] 2
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 753.145s -> 754.777s (0.22%) Artifact size: 372.18 MiB -> 372.15 MiB (-0.01%)

rust-timer avatar Jun 11 '25 02:06 rust-timer

I want to check what happens if I only do the assert_matchesdebug_assert_matches change since I can't quite tell from the self-profile and the query trace if that's the actual and only reason for the perf improvement we're seeing.

@bors2 try @rust-timer queue

fmease avatar Jun 11 '25 12:06 fmease

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

rust-timer avatar Jun 11 '25 12:06 rust-timer

:hourglass: Trying commit 642bb6d55dbf9d62c915474e002a151fb0d9a2d2 with merge ce5fbc799920b8fce877d1dfe66cd641d643af45…

To cancel the try build, run the command @bors2 try cancel.

rust-bors[bot] avatar Jun 11 '25 12:06 rust-bors[bot]

Wait, I want to set parent=last

@bors2 try cancel

fmease avatar Jun 11 '25 12:06 fmease

Try build cancelled. Cancelled workflows:

  • https://github.com/rust-lang/rust/actions/runs/15584270986

rust-bors[bot] avatar Jun 11 '25 12:06 rust-bors[bot]

@bors2 try parent=40daf23eeb711dadf140b2536e67e3ff4c999196 @rust-timer queue

fmease avatar Jun 11 '25 12:06 fmease

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

rust-timer avatar Jun 11 '25 12:06 rust-timer

:hourglass: Trying commit 642bb6d55dbf9d62c915474e002a151fb0d9a2d2 with merge 7c7eef3fba42244270022433fc859ce602611e59…

To cancel the try build, run the command @bors2 try cancel.

rust-bors[bot] avatar Jun 11 '25 12:06 rust-bors[bot]

:sunny: Try build successful (CI) Build commit: 7c7eef3fba42244270022433fc859ce602611e59 (7c7eef3fba42244270022433fc859ce602611e59, parent: 40daf23eeb711dadf140b2536e67e3ff4c999196)

rust-bors[bot] avatar Jun 11 '25 14:06 rust-bors[bot]

Queued 7c7eef3fba42244270022433fc859ce602611e59 with parent 40daf23eeb711dadf140b2536e67e3ff4c999196, future comparison URL. There is currently 1 preceding artifact in the queue. It will probably take at least ~2.6 hours until the benchmark run finishes.

rust-timer avatar Jun 11 '25 14:06 rust-timer

Finished benchmarking commit (7c7eef3fba42244270022433fc859ce602611e59): comparison URL.

Overall result: ✅ improvements - no action needed

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.

@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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.2% [-0.4%, -0.1%] 13
Improvements ✅
(secondary)
-2.4% [-5.6%, -0.2%] 7
All ❌✅ (primary) -0.2% [-0.4%, -0.1%] 13

Max RSS (memory usage)

Results (primary -3.9%, secondary 3.6%)

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

mean range count
Regressions ❌
(primary)
1.1% [1.1%, 1.1%] 1
Regressions ❌
(secondary)
3.6% [2.9%, 4.2%] 2
Improvements ✅
(primary)
-8.8% [-8.8%, -8.8%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -3.9% [-8.8%, 1.1%] 2

Cycles

Results (primary 1.1%, secondary -2.6%)

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

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

Binary size

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

Bootstrap: 753.145s -> 754.674s (0.20%) Artifact size: 372.18 MiB -> 372.18 MiB (-0.00%)

rust-timer avatar Jun 11 '25 20:06 rust-timer

One last run, then I should have a full overview.

@bors2 try parent=last @rust-timer queue

fmease avatar Jun 12 '25 18:06 fmease

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

rust-timer avatar Jun 12 '25 18:06 rust-timer

:hourglass: Trying commit e5e876a4c1488353c5cfa9004a10eab730b090a2 with merge 6f82bf1cfece61d32714fbfeecf8c5cf1356b3ae…

To cancel the try build, run the command @bors2 try cancel.

rust-bors[bot] avatar Jun 12 '25 18:06 rust-bors[bot]

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

rust-timer avatar Jun 12 '25 18:06 rust-timer

:sunny: Try build successful (CI) Build commit: 6f82bf1cfece61d32714fbfeecf8c5cf1356b3ae (6f82bf1cfece61d32714fbfeecf8c5cf1356b3ae, parent: 40daf23eeb711dadf140b2536e67e3ff4c999196)

rust-bors[bot] avatar Jun 12 '25 21:06 rust-bors[bot]

Queued 6f82bf1cfece61d32714fbfeecf8c5cf1356b3ae with parent 40daf23eeb711dadf140b2536e67e3ff4c999196, future comparison URL. There is currently 1 preceding artifact in the queue. It will probably take at least ~1.7 hours until the benchmark run finishes.

rust-timer avatar Jun 12 '25 21:06 rust-timer

Finished benchmarking commit (6f82bf1cfece61d32714fbfeecf8c5cf1356b3ae): comparison URL.

Overall result: no relevant changes - no action needed

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.

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

Instruction count

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

Max RSS (memory usage)

Results (primary -3.3%, secondary 2.5%)

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

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

Cycles

Results (primary 0.8%, secondary -4.4%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.7%, 0.9%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.4% [-4.4%, -4.4%] 1
All ❌✅ (primary) 0.8% [0.7%, 0.9%] 2

Binary size

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

Bootstrap: 753.145s -> 755.645s (0.33%) Artifact size: 372.18 MiB -> 372.16 MiB (-0.00%)

rust-timer avatar Jun 12 '25 23:06 rust-timer

r? compiler-errors (since you've reacted in this thread) or lcnr or compiler

fmease avatar Jun 12 '25 23:06 fmease

r=me when ci is green or sooner i dont care much

compiler-errors avatar Jun 12 '25 23:06 compiler-errors

@bors r=compiler-errors

fmease avatar Jun 13 '25 00:06 fmease

:pushpin: Commit 3a31f624216245f21e7b18ad9baeb0b700c0f18c has been approved by compiler-errors

It is now in the queue for this repository.

bors avatar Jun 13 '25 00:06 bors

@bors p=5 (to get some rollup=nevers through before new rollups)

jieyouxu avatar Jun 14 '25 15:06 jieyouxu

:hourglass: Testing commit 3a31f624216245f21e7b18ad9baeb0b700c0f18c with merge 49a8ba06848fa8f282fe9055b4178350970bb0ce...

bors avatar Jun 14 '25 19:06 bors