Community
Participate
Working Groups
Install GMF 3.5 M4 and all the dependencies except QVTO Import the GMF source code into the workspace. All is fine, with the exception of the errors related to the missing QVTO. Now install QVTO and restart Eclipse. There is a signifiant performance penalty, leading to OutOfMemoryError. I am using the default Eclipse settings, as I always do. Stack Trace: java.lang.OutOfMemoryError: Java heap space at java.util.LinkedList.<init>(LinkedList.java:78) at org.eclipse.gmf.internal.xpand.parser.XpandParser.ruleAction(XpandParser.java:3266) at lpg.lpgjavaruntime.DeterministicParser.processReductions(DeterministicParser.java:55) at lpg.lpgjavaruntime.DeterministicParser.parse(DeterministicParser.java:107) at org.eclipse.gmf.internal.xpand.parser.XpandParser.parser(XpandParser.java:185) at org.eclipse.gmf.internal.xpand.parser.XpandParser.parser(XpandParser.java:160) at org.eclipse.gmf.internal.xpand.util.XpandResourceParser.parse(XpandResourceParser.java:39) at org.eclipse.gmf.internal.xpand.util.ResourceManagerImpl.loadXpandResources(ResourceManagerImpl.java:360) at org.eclipse.gmf.internal.xpand.build.WorkspaceResourceManager.loadXpandResource(WorkspaceResourceManager.java:55) at org.eclipse.gmf.internal.xpand.build.XpandBuilder.reloadResource(XpandBuilder.java:132) at org.eclipse.gmf.internal.xpand.build.XpandBuilder$XpandResourceVisitor.visit(XpandBuilder.java:230) at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:108) at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:60) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:70) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:106) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:90) at org.eclipse.gmf.internal.xpand.build.XpandBuilder.fullBuild(XpandBuilder.java:166) at org.eclipse.gmf.internal.xpand.build.XpandBuilder.doBuild(XpandBuilder.java:95) at org.eclipse.gmf.internal.xpand.build.XpandBuilder.build(XpandBuilder.java:69) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
The OutOfMemoryError issue has been solved in M5 and both the QVT builder and Xpand builder are able to run using the default memory settings. We will continue to work on further memory usage optimization. Concerning the performance issue, QVT builder needs 4.5sec to build the 'org.eclipse.gmf.codegen' project, which we will try to improve in the future as well. The XpandBuilder execution takes more time and it's rather caused by the way it's currently integrated with QVT/OCL. It can be optimized too. Closing this bug, further improvements are to be introduced by bug #264335