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

resolve: Improve performance #33064

Merged
merged 1 commit into from
Apr 18, 2016

Conversation

jseyfried
Copy link
Contributor

@jseyfried jseyfried commented Apr 18, 2016

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 jseyfried force-pushed the improve_resolve_performance branch from a9660f6 to 6ae8027 Compare April 18, 2016 02:03
@jseyfried
Copy link
Contributor Author

cc @nikomatsakis

@eddyb
Copy link
Member

eddyb commented Apr 18, 2016

@bors r+

@bors
Copy link
Contributor

bors commented Apr 18, 2016

📌 Commit 6ae8027 has been approved by eddyb

@bors
Copy link
Contributor

bors commented Apr 18, 2016

⌛ 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
Contributor Author

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

@eddyb eddyb 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:master Apr 18, 2016
@nikomatsakis
Copy link
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.

@nikomatsakis nikomatsakis added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Apr 21, 2016
@brson brson 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 free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. relnotes Marks 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