|Re: [mdt-papyrus.dev] :mdt-papyrus.dev] [Papyrus Oxygen.3] Papyrus element creationperformance -> new video and new behavior|
Here, I tell you about the element creation performance, using the Papyrus API (element type) and outside of a graphical view.
I pushed yesterday changes concerning the naming strategies (Photon and Oxygen). Now, 3 behaviors are available:
- quick index (no necessary unique) -> the new default strategy used in Papyrus (constant time execution)
- unique index (the previous behavior) (depends of the number of element in the owner)
- no index
The associated bug is this one : https://bugs.eclipse.org/bugs/show_bug.cgi?id=530155
The patch for Photon is here : https://git.eclipse.org/r/#/c/115844/
- it includes an update of the Junit tests when required
- the updated documentation
- a new preference page to configure the new behavior
- the patch itself
A video illustrating the changes is available on youtube: https://youtu.be/eeLGQPnMAyM.
Workbench : required time to create creating 5000 SysML Blocks using Element Types:
- around 200 s. before patching Papyrus, UML2 and SysML 1.4
- around 16s now.
An important information, when you create Profile, with subpackge/subprofile, lile SysML, registering them in the plugin.xml too, make increate the performance (it avoid to cross the model to find same).
This changes could break some Junit tests. It is easy to fix them with these lines before the tests (often in the #setUp method of the class):
// we set the default naming strategy, to preserve a previous test behavior
And at the end of the test, with these line, to recover the new default behavior (often in the #tearDown method of the class:
// we reset the naming strategy to its initial value
Concerning the performance of Papyrus when the creation is done in Diagram, we did a first analysis of the problem and the result can be read in the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=531145 .
For Oxygen.3, we start to investigate the performance of the Papyrus edit service. The ticket to follow the investigation is this one : https://bugs.eclipse.org/bugs/show_bug.cgi?id=529945
After a short study, it appears that :
- there is no real difference between papyrus Neon and Papyrus Photon
- the element’s creation depends on the number of elements in the model (for UML element with or without stereotype application)
- creating stereotyped elements is very slow in Papyrus, but in UML2 too. So we filled a ticket to UML2 : https://bugs.eclipse.org/bugs/show_bug.cgi?id=528925
We continue to investigate about the Papyrus Edit Service which must be more efficient on element creation, at least, for non-stereotyped element.
If you have remarks to do on the subject, please don’t hesitate.
CEA Saclay Nano-INNOV
Institut CARNOT CEA LIST
Point Courrier n° 174
91 191 Gif sur Yvette CEDEX
Back to the top