Skip to content

resolve: Improve performance - #33064

Merged
bors merged 1 commit into
rust-lang:masterfrom
jseyfried:improve_resolve_performance
Apr 18, 2016
Merged

resolve: Improve performance#33064
bors merged 1 commit into
rust-lang:masterfrom
jseyfried:improve_resolve_performance

Conversation

@jseyfried

@jseyfriedjseyfried commented Apr 18, 2016

Copy link
Copy Markdown
Contributor

This fixes#33061 by speeding up searchs through all traits in scope, a bottleneck in resolve.

According to my measurements, this PR improves resolution performance by a factor of 3.4x on librustc, which almost completely reverses the 3.75x performance regression reported in #33061.

r? @eddyb

@jseyfried
jseyfriedforce-pushed the improve_resolve_performance branch from a9660f6 to 6ae8027CompareApril 18, 2016 02:03
@jseyfried

Copy link
Copy Markdown
ContributorAuthor

cc @nikomatsakis

@eddyb

Copy link
Copy Markdown
Contributor

@bors r+

@bors

bors commented Apr 18, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 6ae8027 has been approved by eddyb

@bors

bors commented Apr 18, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 6ae8027 with merge 63760ac...

bors added a commit that referenced this pull request Apr 18, 2016
resolve: Improve performance
This fixes#33061 by speeding up searchs through all traits in scope, a bottleneck in `resolve`.
According to my measurements, this PR improves resolution performance by a factor of 3.4x on `librustc`, which almost completely reverses the 3.75x performance regression reported in #33061.
r? @eddyb
@jseyfried

Copy link
Copy Markdown
ContributorAuthor

@eddyb thanks! The regression is currently in beta -- do you think we should beta-nominate this?

@eddybeddyb added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Apr 18, 2016
@bors
bors merged commit 6ae8027 into rust-lang:masterApr 18, 2016
@nikomatsakis

Copy link
Copy Markdown
Contributor

Ordinarily we wouldn't backport a pure performance change, but approved for beta because:

  • this is a small and simple patch;
  • it's a perf regression, no need to give up ground.

@nikomatsakisnikomatsakis added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Apr 21, 2016
@brsonbrson added relnotes Marks issues that should be documented in the release notes of the next release. and removed beta-nominated Nominated for backporting to the compiler in the beta channel. labels May 4, 2016
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.relnotesMarks issues that should be documented in the release notes of the next release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

resolution time has *quadrupled* between 235d77457 and 6fa61b810

5 participants

@jseyfried@eddyb@bors@nikomatsakis@brson