Open
Description
Hi, on linux x86, I'm seeing a 120+ms regression in wall time with 1.71, which is small but is noticeable when running the cli application as it is already quite fast.
1.70:
frost$ hyperfine -w 5 "./target/release/frost info frost/tests/fixtures/test_large.bag"
Benchmark 1: ./target/release/frost info frost/tests/fixtures/test_large.bag
Time (mean ± σ): 580.8 ms ± 0.9 ms [User: 311.6 ms, System: 269.4 ms]
Range (min … max): 579.7 ms … 582.2 ms 10 runs
1.71:
Benchmark 1: ./target/release/frost info frost/tests/fixtures/test_large.bag
Time (mean ± σ): 708.8 ms ± 4.9 ms [User: 447.1 ms, System: 261.6 ms]
Range (min … max): 703.3 ms … 716.7 ms 10 runs
********************************************************************************
Regression in 915aa06700af4a2363639bae70201cd7387470ad
********************************************************************************
Attempting to search unrolled perf builds
ERROR: couldn't find perf build comment
==================================================================================
= Please file this regression report on the rust-lang/rust GitHub repository =
= New issue: https://github.com/rust-lang/rust/issues/new =
= Known issues: https://github.com/rust-lang/rust/issues =
= Copy and paste the text below into the issue report thread. Thanks! =
==================================================================================
searched nightlies: from nightly-2023-01-01 to nightly-2023-09-16
regressed nightly: nightly-2023-04-24
searched commit range: https://github.com/rust-lang/rust/compare/b628260df0587ae559253d8640ecb8738d3de613...7f94b314cead7059a71a265a8b64905ef2511796
regressed commit: https://github.com/rust-lang/rust/commit/915aa06700af4a2363639bae70201cd7387470ad
<details>
<summary>bisected with <a href='https://github.com/rust-lang/cargo-bisect-rustc'>cargo-bisect-rustc</a> v0.6.7</summary>
Host triple: x86_64-unknown-linux-gnu
Reproduce with:
```bash
cargo bisect-rustc --script=./bench.sh --start=2023-01-01 --end=2023-09-16 --preserve
The PR in question does have a perf signoff after weighing the trade-off, but I am raising the issue in case further investigation could lead to more optimizations.
The project is pretty messy but I have steps on how to benchmark here dantheman3333/frost#33.
A differential flamegraph shows flatmap's next has taken a hit. I am unsure if this is an aggregate view of all of the nexts or if this is a specific call site - is it possible to get line numbers from this?
I am unsure of how to proceed from here but I would love to learn if anyone has tips
Metadata
Metadata
Assignees
Labels
Area: MIR optimizationsArea: MIR inliningCategory: An issue highlighting optimization opportunities or PRs implementing suchIssue: Problems and improvements with respect to performance of generated code.Relevant to the compiler team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.