-
Notifications
You must be signed in to change notification settings - Fork 18
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
Performance optimization for JavaGrammarInformationProvider #12
Performance optimization for JavaGrammarInformationProvider #12
Conversation
The pull request has been extended with code changes to Fix #13 |
LayoutUtil in a static way. This fix only reduces the number of JavaLayoutUtil instances in the JavaResource sub class. The generated JavaResource still instantiates one JavaLayoutUtil per resource.
With the first commit for this issue, the JavaParser adaptation were missed.
Up to now, the enhancements included in this pull request led to an improvement in memory consumption. The screenshots below represent the results of a test to load all jar and java files from a use case feature only variant of the ArgoUML-SPL open source project: http://sdqweb.ipd.kit.edu/wiki/SPLevo/Case_Studies/ArgoUML-SPL As you can see, the memory consumption is reduced at the end of the process. Note: This performance analysis has not been performed in a lab, but on a laptop workstation. |
* Improved package name calculation * minor code cleanup
* improved usage of meaningful JavaUniquePathConstructor constants
I have tested LinkedHashMap-based caches for the JavaUniquePathConstructor methods, but without any significant differences. So I do not push these changes into the branch. |
performance-optimization Conflicts: Core/org.emftext.language.java/src/org/emftext/language/java/JavaClasspath.java
This pull request fixes #11 by switching the JavaGrammarInformationProvider to a not-generated class and using caches for syntax element handling