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

Bug 406376

Summary: loading o.e.m.tasks.ui takes over a minute with a large task list
Product: z_Archived Reporter: Sam Davis <sam.davis>
Component: MylynAssignee: Mylyn Inbox <mylyn-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Sam Davis CLA 2013-04-23 17:14:08 EDT
On a fast machine, loading the bundle o.e.m.tasks.ui takes over a minute with a large task list. This is due to the time taken by TaskListExternalizer.readTaskList(ITransferList, File). For me, root.getChildNodes() returns a list of 39741 items, and this is list is then iterated over several times. Is it really necessary to read the task list as part of bundle loading?
Comment 1 Steffen Pingel CLA 2013-04-23 17:41:14 EDT
Generally speaking, no, but clients using tasks.ui assume that it is loaded.

*** This bug has been marked as a duplicate of bug 213228 ***
Comment 2 Sam Davis CLA 2013-04-23 18:09:21 EDT
As a data point, I cut the number of items in the list in half, and the startup time was reduced to under 10 seconds, so it seems that it is super-linear. I wonder if the performance could be improved a little by consolidating all those loops over the same list.
Comment 3 Steffen Pingel CLA 2013-04-23 18:22:44 EDT
(In reply to comment #2)
> As a data point, I cut the number of items in the list in half, and the startup
> time was reduced to under 10 seconds, so it seems that it is super-linear. I
> wonder if the performance could be improved a little by consolidating all those
> loops over the same list.

Yes, I'm sure it could be. When I last looked at it there was a lot of sorting of tasks and re-suffling of tasks which could be optimized dramatically.