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

Major LLVM passes perf regression #22233

Closed
larsbergstrom opened this issue Feb 12, 2015 · 3 comments · Fixed by #22238
Closed

Major LLVM passes perf regression #22233

larsbergstrom opened this issue Feb 12, 2015 · 3 comments · Fixed by #22238
Labels
I-compiletime Issue: Problems and improvements with respect to compile times.

Comments

@larsbergstrom
Copy link
Contributor

@dotdash is investigating a potential solution to this - he suspects that "might be because I dropped the PassInfo cache patches because upstream had changes of which I thought that they do the same thing"

This regression has nearly doubled Servo's build times, and is centralized in the LLVM passes, though it varies from module to module (as shown in the timing output below for our main crate):

After rustup:
time: 7.897     translation
  time: 0.145   llvm function passes
  time: 0.123   llvm module passes
  time: 8.162   codegen passes
  time: 0.001   codegen passes
time: 8.575     LLVM passes
  time: 1.472   running linker
time: 5.858     linking


Before rustup
time: 7.512     translation
  time: 0.142   llvm function passes
  time: 0.110   llvm module passes
  time: 4.762   codegen passes
  time: 0.001   codegen passes
time: 5.154     LLVM passes
  time: 1.507   running linker
time: 6.043     linking
@larsbergstrom
Copy link
Contributor Author

It looks like this is related to LLVM assertions being enabled. A potential fix:
https://gist.github.com/dotdash/f0a26c980b7200f7a790

@Gankra
Copy link
Contributor

Gankra commented Feb 12, 2015

I think you meant to ping someone else on this.

@brson brson added the I-compiletime Issue: Problems and improvements with respect to compile times. label Feb 12, 2015
@larsbergstrom
Copy link
Contributor Author

This is no longer a high-pri issue for Servo - we have changed to build our snapshots without LLVM assertions enabled. Thanks to @dotdash for the tip!

steveklabnik added a commit to steveklabnik/rust that referenced this issue Feb 13, 2015
steveklabnik added a commit to steveklabnik/rust that referenced this issue Feb 15, 2015
Manishearth added a commit to Manishearth/rust that referenced this issue Feb 15, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-compiletime Issue: Problems and improvements with respect to compile times.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants