Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unpin and update memchr #132714

Merged
merged 1 commit into from
Nov 7, 2024
Merged

unpin and update memchr #132714

merged 1 commit into from
Nov 7, 2024

Conversation

mati865
Copy link
Contributor

@mati865 mati865 commented Nov 7, 2024

I'm unable to build x86_64-pc-windows-gnu Rust due to some weird binutils bug, but thinlto issue seems to be no longer present. Let's give it a go on the CI.
Possibly fixed by #129079

Fixes #127890

@rustbot
Copy link
Collaborator

rustbot commented Nov 7, 2024

r? @workingjubilee

rustbot has assigned @workingjubilee.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Nov 7, 2024
@workingjubilee
Copy link
Member

@bors try

@bors
Copy link
Contributor

bors commented Nov 7, 2024

⌛ Trying commit 7cdbb59 with merge bd4ee4f...

bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 7, 2024
unpin and update memchr

I'm unable to build x86_64-pc-windows-gnu Rust due to some weird binutils bug, but thinlto issue seems to be no longer present. Let's give it a go on the CI.
Possibly fixed by rust-lang#129079

try-job: x86_64-mingw
try-job: i686-mingw
@bors
Copy link
Contributor

bors commented Nov 7, 2024

☀️ Try build successful - checks-actions
Build commit: bd4ee4f (bd4ee4f955dfc15696d30ae8a9f3b30b5b0bf2a1)

@mati865 mati865 marked this pull request as ready for review November 7, 2024 07:16
@rustbot
Copy link
Collaborator

rustbot commented Nov 7, 2024

These commits modify the library/Cargo.lock file. Unintentional changes to library/Cargo.lock can be introduced when switching branches and rebasing PRs.

If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.

@tgross35
Copy link
Contributor

tgross35 commented Nov 7, 2024

@bors r+

@bors
Copy link
Contributor

bors commented Nov 7, 2024

📌 Commit 7cdbb59 has been approved by tgross35

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 Nov 7, 2024
@tgross35
Copy link
Contributor

tgross35 commented Nov 7, 2024

@bors rollup=never (perf and possible other windows failures)

@bors
Copy link
Contributor

bors commented Nov 7, 2024

⌛ Testing commit 7cdbb59 with merge 9a77c3c...

@bors
Copy link
Contributor

bors commented Nov 7, 2024

☀️ Test successful - checks-actions
Approved by: tgross35
Pushing 9a77c3c to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 7, 2024
@bors bors merged commit 9a77c3c into rust-lang:master Nov 7, 2024
7 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Nov 7, 2024
@mati865 mati865 deleted the update-memchr branch November 7, 2024 18:48
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (9a77c3c): 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

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
1.0% [1.0%, 1.0%] 1
Regressions ❌
(secondary)
0.4% [0.1%, 1.6%] 13
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.1%] 1
All ❌✅ (primary) 1.0% [1.0%, 1.0%] 1

Max RSS (memory usage)

Results (primary 0.9%, secondary 4.4%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

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

Cycles

Results (secondary -2.4%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

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

Binary size

Results (primary 0.2%, secondary 0.4%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.2% [0.0%, 0.7%] 20
Regressions ❌
(secondary)
0.4% [0.1%, 0.7%] 75
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [0.0%, 0.7%] 20

Bootstrap: 780.704s -> 781.717s (0.13%)
Artifact size: 335.27 MiB -> 335.31 MiB (0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Nov 7, 2024
@tgross35
Copy link
Contributor

tgross35 commented Nov 7, 2024

I am a bit surprised to see any regressions here, I would have expected newer versions to perform better. @BurntSushi long shot but any idea if a slight loss of performance in some cases is expected between memchr 2.5.0 and 2.7.4?

@BurntSushi
Copy link
Member

BurntSushi commented Nov 7, 2024

It depends. Sometimes improvements improve one area while slightly regressing another. The memchr crate did undergo a number of changes since 2.5.0. And see also: BurntSushi/memchr#161

AFAIK, there's no single benchmark that I'm aware of where there's a significant loss of performance for searching. Search construction may have gotten a touch slower as noted in the issue linked.

taiki-e added a commit to taiki-e/atomic-maybe-uninit that referenced this pull request Nov 8, 2024
rust-lang/rust#132714 bumped memchr without
considering aarch64_be is not supported in memchr:
BurntSushi/memchr#162
taiki-e added a commit to taiki-e/portable-atomic that referenced this pull request Nov 9, 2024
rust-lang/rust#132714 bumped memchr without
considering aarch64_be is not supported in memchr:
BurntSushi/memchr#162
taiki-e added a commit to taiki-e/setup-cross-toolchain-action that referenced this pull request Nov 10, 2024
rust-lang/rust#132714 bumped memchr without
considering aarch64_be is not supported in memchr:
BurntSushi/memchr#162
@Mark-Simulacrum Mark-Simulacrum added the perf-regression-triaged The performance regression has been triaged. label Nov 11, 2024
@Mark-Simulacrum
Copy link
Member

My guess is the regressions are mostly spurious (recovered within 1-2 commits on their own, benchmarks are known for some bimodality). Marking as triaged.

mati865 pushed a commit to mati865/rust that referenced this pull request Nov 12, 2024
unpin and update memchr

I'm unable to build x86_64-pc-windows-gnu Rust due to some weird binutils bug, but thinlto issue seems to be no longer present. Let's give it a go on the CI.
Possibly fixed by rust-lang#129079

Fixes rust-lang#127890
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-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Solve the pinned memchr problem
8 participants