-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Compare tagged/niche-filling layout and pick the best one #74069
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me after nits are fixed
☔ The latest upstream changes (presumably #74395) made this pull request unmergeable. Please resolve the merge conflicts. |
c675d13
to
3924672
Compare
@bors r+ |
📌 Commit 3924672 has been approved by |
…sakis Compare tagged/niche-filling layout and pick the best one Finishes up rust-lang#71045, and so fixes rust-lang#63866. cc @eddyb r? @nikomatsakis (since @eddyb wrote the first commit)
…sakis Compare tagged/niche-filling layout and pick the best one Finishes up rust-lang#71045, and so fixes rust-lang#63866. cc @eddyb r? @nikomatsakis (since @eddyb wrote the first commit)
Thanks a lot! I've closed my original unfinished PR. |
…arth Rollup of 11 pull requests Successful merges: - rust-lang#72414 ( Add lazy initialization primitives to std) - rust-lang#74069 (Compare tagged/niche-filling layout and pick the best one) - rust-lang#74418 (ci: Set `shell: bash` as a default, remove duplicates) - rust-lang#74441 (bootstrap.py: patch RPATH on NixOS to handle the new zlib dependency.) - rust-lang#74444 (Add regression test for rust-lang#69414) - rust-lang#74448 (improper_ctypes_definitions: allow `Box`) - rust-lang#74449 (Test codegen of compare_exchange operations) - rust-lang#74450 (Fix `Safety` docs for `from_raw_parts_mut`) - rust-lang#74453 (Use intra-doc links in `str` and `BTreeSet`) - rust-lang#74457 (rustbuild: drop tool::should_install) - rust-lang#74464 (Use pathdiff crate) Failed merges: r? @ghost
@rust-timer make-pr-for e775b4d |
Original message: Rollup merge of rust-lang#74069 - erikdesjardins:bad-niche, r=nikomatsakis Compare tagged/niche-filling layout and pick the best one Finishes up rust-lang#71045, and so fixes rust-lang#63866. cc @eddyb r? @nikomatsakis (since @eddyb wrote the first commit)
Benchmarked in #74592, it does appear like this was a 5-10% performance regression on a large variety of crates. We should probably revert this PR. I've posted a revert here: xxx cc @nnethercote |
…e, r=eddyb Revert "Compare tagged/niche-filling layout and pick the best one" Reverts rust-lang#74069. It caused a performance regression, see rust-lang#74069 (comment). perf: https://perf.rust-lang.org/compare.html?start=d3df8512d2c2afc6d2e7d8b5b951dd7f2ad77b02&end=cfade73820883adf654fe34fd6b0b03a99458a51 r? @eddyb cc @nnethercote
This turned out to not be the source of any regressions, and indeed might be a mild improvement. It will be re-landed in #74802. See also #74716 (comment) and the next few comments for discussion on this topic. |
…ercote Reland rust-lang#74069 Investigation in rust-lang#74716 has concluded that this PR is indeed not a regression (and in fact the rollup itself is not either). This reverts the revert in rust-lang#74611. r? @nnethercote cc @eddyb
Finishes up #71045, and so fixes #63866.
cc @eddyb
r? @nikomatsakis (since @eddyb wrote the first commit)