Skip to content

Remove some Vec allocations to improve performance #71268

New issue

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

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

Already on GitHub? # to your account

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
Collaborator

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
Collaborator

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
Collaborator

bors commented Apr 27, 2020

⌛ Testing commit e7e3001 with merge 46ec74e...

@bors
Copy link
Collaborator

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
Contributor

📣 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.
# for free to join this conversation on GitHub. Already have an account? # 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