Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 357160

Summary: GMF slow with large repository (using CDO)
Product: [Modeling] GMF-Runtime Reporter: David Wynter <david_wynter>
Component: GeneralAssignee: Project Inbox <gmf-runtime-inbox>
Status: RESOLVED INVALID QA Contact:
Severity: enhancement    
Priority: P3 CC: mariot.chauvin
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description David Wynter CLA 2011-09-08 16:52:26 EDT
Build Identifier: 20110615-0604

Is it possible to not use editing domains and org.eclipse.emf.ecore.util.ECrossReferenceAdapter?

As far as I  can see, GMF is designed to work with editing domains. I'm not against the editing domains, but the one used by GMF

org.eclipse.gmf.runtime.diagram.core.DiagramEditingDomainFactory.DiagramEditingDomain works with org.eclipse.emf.transaction.impl.TransactionChangeRecorder which adds itself to all objects of the resource. So if the repository is quite heavy (and is not yet completely loaded) the performance dies since this behaviour causes to load all objects.

Another one issue is the usage of org.eclipse.emf.ecore.util.ECrossReferenceAdapter, which behaves similarly killing the  application performance.

The generated ResourceSetModificationListener is another place.

Is it possible to enable lazy loading somehow?


Reproducible: Always

Steps to Reproduce:
1.Create a CDO repository with 80,000 objects where some are used in a GMF created editor
2.Start the application. In our case 120 seconds was typical as start up time.
3.
Comment 1 Mariot Chauvin CLA 2011-09-09 04:55:30 EDT
I could not accept a bugzilla entry like this one.
Please read my entry on the forum to understand a little bit technical issues involved.