Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mdt-papyrus.dev] Performance issues during element selection

Dear all,

I pushed a new gerrit patch for Bug 435352 (and an additional patch of Papyrus designer that depends on it).
It is based on the cross reference adapter (please ignore my remark below: the GMF class that Alain mentioned provides access to the cross reference adapter registered by GMF, but it is in facet an ECrossReferenceAdapter).
For my example model, it reduces selection time from 8 minutes to ~2 seconds!
However, I agree with Ed that we might need to execute this in a worker threat for larger models.

I propose to move further comments to the bugzilla.

Best regards

Ansgar


From: mdt-papyrus.dev-bounces@xxxxxxxxxxx [mdt-papyrus.dev-bounces@xxxxxxxxxxx] on behalf of RADERMACHER Ansgar 206501
Sent: Tuesday, March 08, 2016 5:31 PM
To: Papyrus Project list
Subject: [PROVENANCE INTERNET] Re: [mdt-papyrus.dev] Performance issues during element selection

Hi Alain,

thanks, I will have a look at this adapter. Do you know what the advantages/differences of the GMF adapter are compared to the ECrossReferenceAdapter in oe.emf.ecore.util?

Best regards

Ansgar


From: mdt-papyrus.dev-bounces@xxxxxxxxxxx [mdt-papyrus.dev-bounces@xxxxxxxxxxx] on behalf of Alain Le Guennec [Alain.LeGuennec@xxxxxxxxxxxxxxxxxxxxxxxx]
Sent: Tuesday, March 08, 2016 1:31 PM
To: Papyrus Project list
Subject: Re: [mdt-papyrus.dev] Performance issues during element selection

Why don't you use the CrossReferenceAdapter of GMF to retrieve notation elements (ie diagrams) referring to semantic elements?
That's what we do here, and it works pretty well.
Isn't that the cache you're looking for?

Regards,

On Tue, Mar 8, 2016 at 11:23 AM, RADERMACHER Ansgar 206501 <Ansgar.RADERMACHER@xxxxxx> wrote:
Dear all,

the element selection in the property view (e.g. choosing a type for an attribute or assigning a value to a stereotype attribute) has severe performance issues: the UI can be blocked for several minutes even for mid-sized models. See Bug 435352 - [Property view] Attribute selection takes way too long.

The main reason is that the element selection is based on EMF Facet and each registered facet slows down the process.
One problem is that each facet implements a getChildren/hasChildren operation that links model elements with notation elements. The implementation of these operations is iterating over all notation elements and thus quite inefficient, since notation elements reference model elements but not vice versa.
Thus, the element search that loops over all model elements, implies several inner loops over all notation elements thus implying a quadratic effort.
It gets worse, since elements can be found via different paths, e.g. directly via the working set or via (nested) package imports. Thus, elements in imported models are queried several times.

One option is the caching of references from model to notation elements, as proposed in the gerrit attached to the bug (a long time ago) . Eventually, we can also use the EMF inverse-referencing mechanism for the navigation.

Another option is to disable the lookup of notation elements temporary during an element lookup - since notation elements are never selectable during an element assignment.

Other ideas?

Best regards

Ansgar


_______________________________________________
mdt-papyrus.dev mailing list
mdt-papyrus.dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/mdt-papyrus.dev



--
Alain Le Guennec, R&D Expert Engineer
SCADE System Project Manager
Esterel Technologies, a wholly-owned subsidiary of ANSYS, Inc.
Tel: +33 5 34 60 90 55
----------------------------------------------------------------------------------------------------------------------------
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. 

Back to the top