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

Bug 273433

Summary: [Table] render phase becomes slow when having many Items
Product: [RT] RAP Reporter: Thomas Haskes <t.haskes>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P1 CC: b.fischer
Version: 1.2   
Target Milestone: 1.2 M7   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Eclipseproject, reproducing the problem
none
screenshot of the testproject being used, showing the timings on my eclipse console. none

Description Thomas Haskes CLA 2009-04-23 09:54:08 EDT
When using a table with many items displayed every request on the workbench gets slow. I used a table with 3000 simple objects. When displaying the table, every request is slow, so even selecting widgets on a different view takes long. In that case using the workbench feels really slow. When using databinding on the table (table as selectionprovider) the performance gets even worse. I attached a little project that displays a table with 3000 items in one view where the table is registered as selectionprovider to the workbench. In a second view there are some fields that are databound to the selectionprovider, showing some fields of the selected tableitem. A third view just contains a button that does nothing but put a line to the console. It shows that even widgets that are not databound to the table are affected. When displaying 3000 items a single server turnaround takes about 700 ms (on my machine). I understand that loading many objects can take a while, but i think it shouldn't affect the whole workbench at all.
I also attached a screenshot of my testProject, showing the console that displays the timings.

Greets, 

Tom
Comment 1 Thomas Haskes CLA 2009-04-23 09:55:13 EDT
Created attachment 132933 [details]
Eclipseproject, reproducing the problem
Comment 2 Thomas Haskes CLA 2009-04-23 09:56:09 EDT
Created attachment 132934 [details]
screenshot of the testproject being used, showing the timings on my eclipse console.
Comment 3 RĂ¼diger Herrmann CLA 2009-04-24 11:25:07 EDT
Just for the record: the attached example throws NoSuchMethodExceptions and NullPointerExceptions
Comment 4 RĂ¼diger Herrmann CLA 2009-04-24 11:31:33 EDT
Optimized Table#indexOf(). Changes are in CVS HEAD