The difference between open the diagram editor for the first time and open it for the second time [message #1784159] |
Fri, 23 March 2018 02:21 |
jingjing wang Messages: 28 Registered: July 2017 |
Junior Member |
|
|
Hi,
I have a question about editing response performance in a diagram. In our application, the sirius diagram size is several thousands of elements. The operation steps are:
1. create an new diagram
2. open the diagram for the first time
3. editing one time in the diagram, such as: select an element, add an element, delete an element, and so on. record the editing response time.
4. save the diagram and close the diagram
5. open the diagram for the second time
6. editing one time in the diagram, record the editing reponse time.
Compare the the editing response time of step 3 with step 6, we find that editing response time of the secondly opening diagram is faster than editing response of the firstly opening diagram. It is faster for about 0.5 second. But why editing response in the firstly opening diagram is slower?
So if there is anyone can give me an answer about this question?
[Updated on: Fri, 23 March 2018 08:52] Report message to a moderator
|
|
|
Re: The difference between open the diagram editor for the first time and open it for the second tim [message #1784620 is a reply to message #1784159] |
Fri, 30 March 2018 14:57 |
|
Hello,
I can't find a reason why it is faster the second time at the moment. Can you provide a sample so we can try?
The best way to move forward would be to profile your modeler, ideally with a real Java profiler (e.g. the proprietary YourKit, or VisualVM which is bundled in the Oracle JDK).
Sirius also features a profiler, but specific to some of its own operations. To use it:
* First you need to enable the profiler: Window > Preferences > Sirius: in the "Profiler" group, enable the "Profiling" checkbox.
* Open the profiler view: Window > Show view > Other... > Sirius Profiler > Time Profiler View.
* Initialize your scenario (e.g. open your diagram), and before editing it, click on "Reinit profiler" in the profiler view.
* Play your scenario, and at the end click on "Refresh view" in the profiler view. It will show you where (some of) the time of your scenario is spent.
This is not a full profiler, and only takes into account some specific parts of Sirius, so I can't guarantee it will help pinpoint the problem. However as a first step it is much simpler than using a full Java profiler.
Regards,
Steve
Steve Monnier - Obeo Canada
Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
|
|
|
Re: The difference between open the diagram editor for the first time and open it for the second tim [message #1784677 is a reply to message #1784620] |
Mon, 02 April 2018 07:37 |
jingjing wang Messages: 28 Registered: July 2017 |
Junior Member |
|
|
Hi Steve
Thanks for your advise.
I have used sirius profiler, it only monitors the refresh process of the diagram, and there is no difference between editing in the firstly opening the diagram and in the secondly opening diagram.
Acctually, we also used JVM to monitor editing process. We find that the difference is the execution of SiriusDiagramGraphicalViewer$ToggleUpdateManager.performValidation().
When editing in the firstly opening diagram,SiriusDiagramGraphicalViewer$ToggleUpdateManager.performValidation() will be invoked twice, and the total execute time is about 0.5 second. But when editing in the secondly opening diagram, SiriusDiagramGraphicalViewer$ToggleUpdateManager.performValidation() also will be invoked twice, but it executes so fast, only costs tens of millionseconds. We have analyzed the relevant process, but we don't get a result.
[Updated on: Mon, 02 April 2018 07:39] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.03006 seconds