This is more the answer that I would like to talk about the problem that I was looking for some time in the RCP application using large SWT tables.
The problem is the performance of the SWT method Table.remove (int start, int end). This gives very poor performance - about 50 ms per 100 elements on my Windows XP. But the real show-stop was on Vista and Windows 7, where removing 100 items will take up to 5 seconds! A look at the source code of the table shows that during this call a huge number of events occur in the window, which leads to the fact that the window system is on its knees.
The solution was to hide this damn thing during this call:
table.setVisible(false); table.remove(from, to); table.setVisible(true);
These are miracles - removing 500 elements on XP and Windows7 takes ~ 15 ms, which is just the overhead of printing the timestamps I used.
nice :)
source share