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

Bug 364044

Summary: [Model Explorer] [Performance] Moving many elements from one package to another takes too much time
Product: [Modeling] Papyrus Reporter: Alain Le Guennec <alain.leguennec>
Component: CoreAssignee: Project Inbox <mdt-papyrus-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: eclipse-bugzilla, yann.tanguy
Version: 0.8.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
The model used to reproduced the issue. none

Description Alain Le Guennec CLA 2011-11-17 10:12:39 EST
Assuming a very simple model with just two packages and 1024 blocks in one of the packages,
select all blocks and move them all at once into the second package.
=> The move operation takes an inordinate amount of time to complete
   (about half an hour on my machine).
The blocks themselves have no nested properties or diagrams, and are not referenced by anything, so there does not seem to be anything complicated to propagate in term of impact on the model while performing the move, which suggests that there might be an algorithm complexity issue somewhere.
Comment 1 Alain Le Guennec CLA 2011-11-17 10:17:31 EST
Created attachment 207149 [details]
The model used to reproduced the issue.
Comment 2 Patrick Tessier CLA 2011-11-23 09:53:01 EST
the movement of children for this example takes as much time.
However the start of the movement can take a bit of time (3or 4) time to creating queries.

done in the revision 6275
Comment 3 Patrick Tessier CLA 2011-11-25 04:25:26 EST
I have also combined with another command thanks to remarks from Yann.
If the drop seems to be a change order, sometimes there is also a reparent.
If a request to of move is not done, associated diagram and UML semantic can be incorrect. A test has been added to add this command if necessary.

Now the execution of the test case take 3 or 4 seconds.
A technical documentation will be added in the wiki.
Comment 4 Patrick Tessier CLA 2011-11-25 04:26:12 EST
done in the revision 6291
Comment 5 Patrick Tessier CLA 2011-11-25 05:50:24 EST
A small explanation has been added in the wiki:
http://wiki.eclipse.org/Papyrus_Developer_Guide/Papyrus_Structure_Behavior