Skip to content

Remove some Vec allocations to improve performance - #71268

Merged
bors merged 4 commits into
rust-lang:masterfrom
estebank:devectorize
Apr 27, 2020
Merged

Remove some Vec allocations to improve performance#71268
bors merged 4 commits into
rust-lang:masterfrom
estebank:devectorize

Conversation

@estebank

@estebankestebank commented Apr 18, 2020

Copy link
Copy Markdown
Contributor

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

@rust-highfiverust-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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Collaborator

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

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking try commit a71f41067421f0726eeafae1e1f5f6d8f9546cb9, comparison URL.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking try commit 618943e25618d64314220b0ccd7adb83d35eba51, comparison URL.

@estebank

estebank commented Apr 19, 2020

Copy link
Copy Markdown
ContributorAuthor

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

@estebank
estebankforce-pushed the devectorize branch 2 times, most recently from 1675088 to 6be420bCompareApril 19, 2020 23:59
@bors

bors commented Apr 20, 2020

Copy link
Copy Markdown
Collaborator

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

@rust-timer

Copy link
Copy Markdown
Collaborator

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

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking try commit 56be31fea40c74872156aabb1bcf41a5f55e0fd4, comparison URL.

@estebank

Copy link
Copy Markdown
ContributorAuthor

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

@estebankestebank changed the title Remove some Vec allocations in an effort to improve perfRemove some Vec allocations to improve performanceApr 21, 2020
@eddyb

Copy link
Copy Markdown
Contributor

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

@bors

bors commented Apr 21, 2020

Copy link
Copy Markdown
Collaborator

📌 Commit e7e3001 has been approved by eddyb

@borsbors 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
@dtolnaydtolnay mentioned this pull request Apr 22, 2020
@estebankestebank added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Apr 23, 2020
@estebank

Copy link
Copy Markdown
ContributorAuthor

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

@bors

bors commented Apr 27, 2020

Copy link
Copy Markdown
Collaborator

⌛ Testing commit e7e3001 with merge 46ec74e...

@bors

bors commented Apr 27, 2020

Copy link
Copy Markdown
Collaborator

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

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

Copy link
Copy Markdown
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).
@borsbors mentioned this pull request Apr 27, 2020
@spastorinospastorino 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
Copy Markdown
Contributor

discussed at T-compiler meeting

beta-accepted

@pnkfelixpnkfelix added the beta-accepted Accepted for backporting to the compiler in the beta channel. label May 1, 2020
@Mark-SimulacrumMark-Simulacrum removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label May 9, 2020
@Mark-SimulacrumMark-Simulacrum mentioned this pull request 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 freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.merged-by-borsThis PR was explicitly merged by bors.S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant 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

@estebank@rust-timer@bors@eddyb@rust-highfive@pnkfelix@spastorino@Mark-Simulacrum