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

Improve memory usage #20

Closed
GoogleCodeExporter opened this issue Mar 14, 2015 · 2 comments
Closed

Improve memory usage #20

GoogleCodeExporter opened this issue Mar 14, 2015 · 2 comments

Comments

@GoogleCodeExporter
Copy link

We should improve memory usage for large projects. Recently, Lucene's build 
crashed with OOM because too many classes were loaded. This was mainly caused 
by the task being run top-level, but forbidden should still not hold everything 
in memory.

The following improvements are easy:
- For related classes, we don't need to hold the ClassReader in memory (holding 
the byte array). Those classes are only parsed and signature lists are created. 
We should only extract superclasses and interfaces and throw the classreader 
away
- We may add lazy loading on classes to scan. This could be done by a type of 
"ClassLoader" that does a lookup on the Ant/Maven FileSet. The class is only 
parsed one time and classreader is thrown away. After parsing the class we just 
keep the sigantures for later lookups of related classes available.

Original issue reported on code.google.com by uwe.h.schindler on 10 Nov 2013 at 11:07

@GoogleCodeExporter
Copy link
Author

ommitted to SVN: The memory usage was limited by only keeping a ClassReader for 
classes to be checked, which is also released directly after checking.

Original comment by uwe.h.schindler on 21 Nov 2013 at 9:06

  • Changed state: Committed

@GoogleCodeExporter
Copy link
Author

Original comment by uwe.h.schindler on 21 Nov 2013 at 11:37

  • Changed state: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant