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

BTreeMap: clean up the full_range function #81372

Closed
wants to merge 1 commit into from

Conversation

ssomers
Copy link
Contributor

@ssomers ssomers commented Jan 25, 2021

Long ago, benchmarks seemed to say this function had a performance benefit, but with more accurate benchmarking and insight I think that was malarkey.
r? @Mark-Simulacrum

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 25, 2021
@Mark-Simulacrum
Copy link
Member

@bors try @rust-timer queue

Let's check in on perf.rlo, but seems fine to drop to me.

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@Mark-Simulacrum Mark-Simulacrum added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 26, 2021
@bors
Copy link
Contributor

bors commented Jan 26, 2021

⌛ Trying commit c1f90a36f81aa92ed56deb199fda9d297b09966d with merge 606bf92f5dbb3cce7598c73a16806b4fc5bc0c59...

@bors
Copy link
Contributor

bors commented Jan 26, 2021

☀️ Try build successful - checks-actions
Build commit: 606bf92f5dbb3cce7598c73a16806b4fc5bc0c59 (606bf92f5dbb3cce7598c73a16806b4fc5bc0c59)

@rust-timer
Copy link
Collaborator

Queued 606bf92f5dbb3cce7598c73a16806b4fc5bc0c59 with parent 1483e67, future comparison URL.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jan 26, 2021
@rust-timer
Copy link
Collaborator

Finished benchmarking try commit (606bf92f5dbb3cce7598c73a16806b4fc5bc0c59): comparison url.

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying rollup- to bors.

Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up.

@bors rollup=never
@rustbot label: +S-waiting-on-review -S-waiting-on-perf

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Jan 26, 2021
@Mark-Simulacrum
Copy link
Member

Hm, overall those numbers definitely show this change had some significant effects, but it's less clear the extent to which they are positive or negative.

@ssomers
Copy link
Contributor Author

ssomers commented Jan 26, 2021

I don't know what the numbers mean and how stable they are. The only way I see how full_range could be better, is locality in the first iteration, because it reads the first and last edge of the same root node. I'd be interested to see how a hybrid version of full_range that expresses that would fare, but not hugely so.

@ssomers ssomers changed the title BTreeMap: dissolve the superfluous full_range function BTreeMap: clean up the full_range function Jan 26, 2021
@ssomers
Copy link
Contributor Author

ssomers commented Jan 27, 2021

The alloc benchmarks (that shrugged their shoulders over the abolition of full_range) consistently grant the latest version a ~5% win on the iterator tests, inconsistently setting back a few unrelated tests.

@ssomers
Copy link
Contributor Author

ssomers commented Jan 27, 2021

@rustbot label: -S-waiting-on-author

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jan 27, 2021
@Mark-Simulacrum
Copy link
Member

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@bors
Copy link
Contributor

bors commented Jan 28, 2021

⌛ Trying commit b4c2e2f with merge 03b68f29bfcd32cd4c39c1f476deac63debada36...

@bors
Copy link
Contributor

bors commented Jan 29, 2021

☀️ Try build successful - checks-actions
Build commit: 03b68f29bfcd32cd4c39c1f476deac63debada36 (03b68f29bfcd32cd4c39c1f476deac63debada36)

@rust-timer
Copy link
Collaborator

Queued 03b68f29bfcd32cd4c39c1f476deac63debada36 with parent c0b64d9, future comparison URL.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jan 29, 2021
@rust-timer
Copy link
Collaborator

Finished benchmarking try commit (03b68f29bfcd32cd4c39c1f476deac63debada36): comparison url.

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying rollup- to bors.

Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up.

@bors rollup=never
@rustbot label: +S-waiting-on-review -S-waiting-on-perf

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jan 29, 2021
@Mark-Simulacrum
Copy link
Member

I don't think we can land this with regressions in the perf suite and at least to me no strong benefit (AFAICT, this is just a refactoring and isn't actually necessary for other work?).

I'm going to go ahead and close but happy to reopen or continue discussing if you would like; in particular, if you feel that there is a strong benefit.

Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Feb 14, 2021
…ark-Simulacrum

BTreeMap: fix internal comments

Salvaged from rust-lang#81372

r? `@Mark-Simulacrum`
@ssomers ssomers deleted the btree_cleanup_full_range branch July 14, 2021 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants