Skip to content

perf: Inline some hot functions in FnDecl#157955

Closed
teor2345 wants to merge 1 commit into
rust-lang:mainfrom
teor2345:fn-arg-splat-perf-fndef-inline
Closed

perf: Inline some hot functions in FnDecl#157955
teor2345 wants to merge 1 commit into
rust-lang:mainfrom
teor2345:fn-arg-splat-perf-fndef-inline

Conversation

@teor2345

Copy link
Copy Markdown
Contributor

This PR tries to fix a perf regression in 1 primary benchmark introduced by #157699, by inlining some hot functions.

Regression details: #157699 (comment)

@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 Jun 16, 2026
@panstromek

Copy link
Copy Markdown
Contributor

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 16, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jun 16, 2026
@rust-bors

rust-bors Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: c53cee2 (c53cee2a16c43d810b2fb1c86492488e270ac5ff, parent: 9d862dd2c17b2dc90e9f623bb9279a8c4090b311)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (c53cee2): comparison URL.

Overall result: no relevant changes - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

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

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (secondary -2.0%)

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.0% [-2.0%, -2.0%] 1
All ❌✅ (primary) - - 0

Cycles

Results (primary -3.4%, 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)
- - 0
Regressions ❌
(secondary)
3.6% [2.3%, 5.6%] 5
Improvements ✅
(primary)
-3.4% [-3.4%, -3.4%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -3.4% [-3.4%, -3.4%] 1

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 519.36s -> 518.453s (-0.17%)
Artifact size: 400.90 MiB -> 400.92 MiB (0.01%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 16, 2026
@teor2345

Copy link
Copy Markdown
Contributor Author

This gives slightly more negative than positive results, and the average is a slight negative, so I don't think it's worth doing.

@teor2345 teor2345 closed this Jun 16, 2026
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jun 16, 2026
@teor2345

teor2345 commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

@rustbot label +F-splat

@rustbot rustbot added the F-splat `#![feature(splat)]` label Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-splat `#![feature(splat)]` 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.

4 participants