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

Remove some Vec allocations to improve performance #71268

Merged
merged 4 commits into from
Apr 27, 2020

Conversation

estebank
Copy link
Contributor

@estebank estebank commented Apr 18, 2020

This claws back most of the performance lost in #69745.
r? @eddyb

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 18, 2020
@estebank

This comment has been minimized.

@rust-timer

This comment has been minimized.

@bors

This comment has been minimized.

@estebank
Copy link
Contributor Author

If this doesn't have a significant impact the alternative to claw back some of the lost performance will be to make Elaborator have a type argument that can be either Predicate or PredicateObligation.

@bors

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Queued 3cab146d7a56fe01beb0eee9c4e8d0ff89918d9d with parent cff9a75, future comparison URL.

@estebank

This comment has been minimized.

@rust-timer

This comment has been minimized.

@bors

This comment has been minimized.

@bors

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Queued a71f41067421f0726eeafae1e1f5f6d8f9546cb9 with parent 52fa23a, future comparison URL.

@estebank

This comment has been minimized.

@rust-timer

This comment has been minimized.

@bors

This comment has been minimized.

@bors

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Queued 618943e25618d64314220b0ccd7adb83d35eba51 with parent 52fa23a, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit a71f41067421f0726eeafae1e1f5f6d8f9546cb9, comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit 618943e25618d64314220b0ccd7adb83d35eba51, comparison URL.

@estebank
Copy link
Contributor Author

estebank commented Apr 19, 2020

The last two commits have little/no impact so we can avoid them if we want, but I'd prefer to keep them.

@estebank estebank force-pushed the devectorize branch 2 times, most recently from 1675088 to 6be420b Compare April 19, 2020 23:59
@bors
Copy link
Contributor

bors commented Apr 20, 2020

☀️ Try build successful - checks-azure
Build commit: 56be31fea40c74872156aabb1bcf41a5f55e0fd4 (56be31fea40c74872156aabb1bcf41a5f55e0fd4)

@rust-timer
Copy link
Collaborator

Queued 56be31fea40c74872156aabb1bcf41a5f55e0fd4 with parent 8ce3f84, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit 56be31fea40c74872156aabb1bcf41a5f55e0fd4, comparison URL.

@estebank
Copy link
Contributor Author

ping @eddyb, I would like to land before beta is cut to avoid having to backport.

@estebank estebank changed the title Remove some Vec allocations in an effort to improve perf Remove some Vec allocations to improve performance Apr 21, 2020
@eddyb
Copy link
Member

eddyb commented Apr 21, 2020

@bors r+ (sorry, haven't been looking at GitHub for the past few days, please PM me if I'm needed again)

@bors
Copy link
Contributor

bors commented Apr 21, 2020

📌 Commit e7e3001 has been approved by eddyb

@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 Apr 21, 2020
@estebank estebank added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Apr 23, 2020
@estebank
Copy link
Contributor Author

I think this might have missed the train and we will likely want to backport it to beta.

@bors
Copy link
Contributor

bors commented Apr 27, 2020

⌛ Testing commit e7e3001 with merge 46ec74e...

@bors
Copy link
Contributor

bors commented Apr 27, 2020

☀️ Test successful - checks-azure
Approved by: eddyb
Pushing 46ec74e to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Apr 27, 2020
@bors bors merged commit 46ec74e into rust-lang:master Apr 27, 2020
@rust-highfive
Copy link
Collaborator

📣 Toolstate changed by #71268!

Tested on commit 46ec74e.
Direct link to PR: #71268

💔 clippy-driver on windows: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq).
💔 clippy-driver on linux: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Apr 27, 2020
Tested on commit rust-lang/rust@46ec74e.
Direct link to PR: <rust-lang/rust#71268>

💔 clippy-driver on windows: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq).
💔 clippy-driver on linux: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq).
@bors bors mentioned this pull request Apr 27, 2020
@spastorino spastorino added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Apr 29, 2020
@pnkfelix
Copy link
Member

pnkfelix commented May 1, 2020

discussed at T-compiler meeting

beta-accepted

@pnkfelix pnkfelix added the beta-accepted Accepted for backporting to the compiler in the beta channel. label May 1, 2020
@Mark-Simulacrum Mark-Simulacrum removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label May 9, 2020
bors added a commit to rust-lang-ci/rust that referenced this pull request May 11, 2020
…ulacrum

[beta] backports

This backport rollup includes the following:
 * [beta] Update cargo rust-lang#71967
 * Backport 1.43.1 release notes to master rust-lang#71914
 * Update the `cc` crate rust-lang#71882
 * resolve: Relax fresh binding disambiguation slightly to fix regression rust-lang#71846
 * Do not try to find binop method on RHS `TyErr` rust-lang#71810
 * Quick and dirty fix of the unused_braces lint rust-lang#71517
 * Update stdarch submodule rust-lang#71495
 * normalize field projection ty to fix broken MIR issue rust-lang#71488
 * Update openssl-src to 1.1.1g rust-lang#71430
 * fix error code in E0751.md rust-lang#71426
 * Don't fuse Chain in its second iterator rust-lang#71404
 * Remove some `Vec` allocations to improve performance rust-lang#71268
 * [CI] Use the latest Python available on Windows rust-lang#71995

It also switches the bootstrap compiler to 1.43.1.
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. merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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.

8 participants