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

Reduce optimizer running time and memory pressure #564

Open
lrytz opened this issue Oct 5, 2018 · 0 comments
Open

Reduce optimizer running time and memory pressure #564

lrytz opened this issue Oct 5, 2018 · 0 comments

Comments

@lrytz
Copy link
Member

lrytz commented Oct 5, 2018

The use of ASM Analyzers in the inliner/optimizer is very allocation heavy. This can be observed easily with a profiler, there is basically constant minor GC going on as soon as the compiler reaches the backend.

The best way to improve on that is probably to run fewer analyzers, i.e., to fuse local optimizations that use the same kind of analysis.

This would also improve the time it takes to run the optimizer. By far the most amount of time is spent in the SourceValue analysis, which computes producers and consumers. This analysis is used in a number of places

  • rewrite closure invocations
  • push-pop
  • box-unbox
  • remove stale stores

It might be possible to fuse the local optimizations that use this analysis into one.

@SethTisue SethTisue changed the title Reduce optimzier running time and memory pressure Reduce optimizer running time and memory pressure Oct 8, 2018
@dwijnand dwijnand added this to the Backlog milestone Oct 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants