Skip to content

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
Collaborator

bors commented Jan 26, 2021

⌛ Trying commit c1f90a36f81aa92ed56deb199fda9d297b09966d with merge 606bf92f5dbb3cce7598c73a16806b4fc5bc0c59...

@bors
Copy link
Collaborator

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 force-pushed the btree_cleanup_full_range branch from c1f90a3 to 68b6759 Compare January 26, 2021 18:20
@ssomers ssomers changed the title BTreeMap: dissolve the superfluous full_range function BTreeMap: clean up the full_range function Jan 26, 2021
@ssomers ssomers force-pushed the btree_cleanup_full_range branch from 68b6759 to b5449a1 Compare January 27, 2021 00:01
@ssomers ssomers force-pushed the btree_cleanup_full_range branch from b5449a1 to b4c2e2f Compare January 27, 2021 00:03
@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
Collaborator

bors commented Jan 28, 2021

⌛ Trying commit b4c2e2f with merge 03b68f29bfcd32cd4c39c1f476deac63debada36...

@bors
Copy link
Collaborator

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