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

Shrink `SubregionOrigin`. #64394

Merged
merged 1 commit into from Sep 18, 2019

Conversation

@nnethercote
Copy link
Contributor

commented Sep 12, 2019

It's currently 120 bytes on x86-64, due to one oversized variant
(Subtype). This commit boxes Subtype's contents, reducing the size
of SubregionOrigin to 32 bytes.

The change speeds things up by avoiding lots of memcpy calls, mostly
relating to RegionConstraintData::constraints, which is a BTreeMap
with SubregionOrigin values.

It's currently 120 bytes on x86-64, due to one oversized variant
(`Subtype`). This commit boxes `Subtype`'s contents, reducing the size
of `SubregionOrigin` to 32 bytes.

The change speeds things up by avoiding lots of `memcpy` calls, mostly
relating to `RegionConstraintData::constraints`, which is a `BTreeMap`
with `SubregionOrigin` values.
@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented Sep 12, 2019

r? @eddyb

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

@nnethercote

This comment has been minimized.

Copy link
Contributor Author

commented Sep 12, 2019

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 12, 2019

⌛️ Trying commit 7f0637d with merge 1702b17...

bors added a commit that referenced this pull request Sep 12, 2019
Shrink `SubregionOrigin`.

It's currently 120 bytes on x86-64, due to one oversized variant
(`Subtype`). This commit boxes `Subtype`'s contents, reducing the size
of `SubregionOrigin` to 32 bytes.

The change speeds things up by avoiding lots of `memcpy` calls, mostly
relating to `RegionConstraintData::constraints`, which is a `BTreeMap`
with `SubregionOrigin` values.
@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 12, 2019

☀️ Try build successful - checks-azure
Build commit: 1702b17

@nnethercote

This comment has been minimized.

Copy link
Contributor Author

commented Sep 12, 2019

@rust-timer

This comment has been minimized.

Copy link

commented Sep 12, 2019

Success: Queued 1702b17 with parent c9edc02, comparison URL.

@rust-timer

This comment has been minimized.

Copy link

commented Sep 12, 2019

Finished benchmarking try commit 1702b17, comparison URL.

@nnethercote

This comment has been minimized.

Copy link
Contributor Author

commented Sep 12, 2019

The perf effect is small but clearly beneficial.

@Mark-Simulacrum

This comment has been minimized.

Copy link
Member

commented Sep 17, 2019

@bors r+ rollup

@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 17, 2019

📌 Commit 7f0637d has been approved by Mark-Simulacrum

tmandry added a commit to tmandry/rust that referenced this pull request Sep 17, 2019
… r=Mark-Simulacrum

Shrink `SubregionOrigin`.

It's currently 120 bytes on x86-64, due to one oversized variant
(`Subtype`). This commit boxes `Subtype`'s contents, reducing the size
of `SubregionOrigin` to 32 bytes.

The change speeds things up by avoiding lots of `memcpy` calls, mostly
relating to `RegionConstraintData::constraints`, which is a `BTreeMap`
with `SubregionOrigin` values.
tmandry added a commit to tmandry/rust that referenced this pull request Sep 17, 2019
… r=Mark-Simulacrum

Shrink `SubregionOrigin`.

It's currently 120 bytes on x86-64, due to one oversized variant
(`Subtype`). This commit boxes `Subtype`'s contents, reducing the size
of `SubregionOrigin` to 32 bytes.

The change speeds things up by avoiding lots of `memcpy` calls, mostly
relating to `RegionConstraintData::constraints`, which is a `BTreeMap`
with `SubregionOrigin` values.
tmandry added a commit to tmandry/rust that referenced this pull request Sep 17, 2019
… r=Mark-Simulacrum

Shrink `SubregionOrigin`.

It's currently 120 bytes on x86-64, due to one oversized variant
(`Subtype`). This commit boxes `Subtype`'s contents, reducing the size
of `SubregionOrigin` to 32 bytes.

The change speeds things up by avoiding lots of `memcpy` calls, mostly
relating to `RegionConstraintData::constraints`, which is a `BTreeMap`
with `SubregionOrigin` values.
bors added a commit that referenced this pull request Sep 17, 2019
Rollup of 10 pull requests

Successful merges:

 - #61626 (Get rid of special const intrinsic query in favour of `const_eval`)
 - #64283 (Updated RELEASES.md for 1.38.0)
 - #64394 (Shrink `SubregionOrigin`.)
 - #64429 (Fix failure note `to_str` implementation)
 - #64436 (improve Vec example soundness in mem::transmute docs)
 - #64502 (avoid duplicate issues for Miri build failures)
 - #64505 (Fix inconsistent link formatting)
 - #64529 (Add an example to Pin::as_mut)
 - #64541 (document Miri error categories)
 - #64544 (build-manifest: re-add some comments)

Failed merges:

r? @ghost
@bors bors merged commit 7f0637d into rust-lang:master Sep 18, 2019
5 checks passed
5 checks passed
homu Test successful
Details
pr Build #20190912.7 succeeded
Details
pr (Linux mingw-check) Linux mingw-check succeeded
Details
pr (Linux x86_64-gnu-llvm-6.0) Linux x86_64-gnu-llvm-6.0 succeeded
Details
pr (LinuxTools) LinuxTools succeeded
Details
@nnethercote nnethercote deleted the nnethercote:shrink-SubregionOrigin branch Sep 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.