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

Fix a regression in 1.30 by reverting #53564 #54851

Merged
merged 5 commits into from
Oct 6, 2018

Conversation

alexcrichton
Copy link
Member

Investigation on #54477 revealed #53564 as the culprit in the regression for that crate. I've reproduced the regression with the detailed test cases provided. While we figure out how to fix the regression this commit reverts the current culprit.

@rust-highfive
Copy link
Collaborator

r? @sfackler

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 5, 2018
@sfackler
Copy link
Member

sfackler commented Oct 5, 2018

@bors r+

@bors
Copy link
Contributor

bors commented Oct 5, 2018

📌 Commit 70ae43f has been approved by sfackler

@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 Oct 5, 2018
@alexcrichton alexcrichton added beta-nominated Nominated for backporting to the compiler in the beta channel. beta-accepted Accepted for backporting to the compiler in the beta channel. labels Oct 5, 2018
@pietroalbini
Copy link
Member

@bors p=1

pietroalbini added a commit to pietroalbini/rust that referenced this pull request Oct 5, 2018
…ckler

Fix a regression in 1.30 by reverting rust-lang#53564

Investigation on rust-lang#54477 revealed rust-lang#53564 as the culprit in the regression for that crate. I've reproduced the regression with the [detailed test cases provided](rust-lang#54477 (comment)). While we figure out how to fix the regression this commit reverts the current culprit.
bors added a commit that referenced this pull request Oct 6, 2018
Rollup of 11 pull requests

Successful merges:

 - #54078 (Expand the documentation for the `std::sync` module)
 - #54717 (Cleanup rustc/ty part 1)
 - #54781 (Add examples to `TyKind::FnDef` and `TyKind::FnPtr` docs)
 - #54787 (Only warn about unused `mut` in user-written code)
 - #54804 (add suggestion for inverted function parameters)
 - #54812 (Regression test for #32382.)
 - #54833 (make `Parser::parse_foreign_item()` return a foreign item or error)
 - #54834 (rustdoc: overflow:auto doesn't work nicely on small screens)
 - #54838 (Fix typo in src/libsyntax/parse/parser.rs)
 - #54851 (Fix a regression in 1.30 by reverting #53564)
 - #54853 (Remove unneccessary error from test, revealing NLL error.)

Failed merges:

r? @ghost
@bors
Copy link
Contributor

bors commented Oct 6, 2018

⌛ Testing commit 70ae43f with merge ac841e7...

@bors bors merged commit 70ae43f into rust-lang:master Oct 6, 2018
@pietroalbini pietroalbini removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 8, 2018
bors added a commit that referenced this pull request Oct 8, 2018
[beta] Rollup backports

Merged and approved:

* #54851: Fix a regression in 1.30 by reverting #53564
* #54865: Backport 1.29.2 release notes to master
* #54810: Fix dead code lint for functions using impl Trait

r? @ghost
@alexcrichton alexcrichton deleted the revert-optimize branch October 8, 2018 20:00
bors added a commit that referenced this pull request Oct 9, 2018
[beta] Rollup backports

Merged and approved:

* #54851: Fix a regression in 1.30 by reverting #53564
* #54865: Backport 1.29.2 release notes to master
* #54810: Fix dead code lint for functions using impl Trait

r? @ghost
bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 15, 2021
Optimize VecDeque::append

Optimize `VecDeque::append` to do unsafe copy rather than iterating through each element.

On my `Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz`, the benchmark shows 37% improvements:
```
Master:
custom-bench vec_deque_append 583164 ns/iter
custom-bench vec_deque_append 550040 ns/iter

Patched:
custom-bench vec_deque_append 349204 ns/iter
custom-bench vec_deque_append 368164 ns/iter
```

Additional notes on the context: this is the third attempt to implement a non-trivial version of `VecDeque::append`, the last two are reverted due to unsoundness or regression, see:
- rust-lang#52553, reverted in rust-lang#53571
- rust-lang#53564, reverted in rust-lang#54851

Both cases are covered by existing tests.

Signed-off-by: tabokie <xy.tao@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants