Remove items from SWT tables
        Posted  
        
            by Dima
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Dima
        
        
        
        Published on 2010-04-20T21:28:44Z
        Indexed on 
            2010/04/20
            21:33 UTC
        
        
        Read the original article
        Hit count: 309
        
swt
|eclipse-rcp
This is more of an answer I'd like to share for the problem I was chasing for some time in RCP application using large SWT tables.
The problem is the performance of SWT Table.remove(int start, int end) method. It gives really bad performance - about 50msec per 100 items on my Windows XP. But the real show stopper was on Vista and Windows 7, where deleting 100 items would take up to 5 seconds! Looking into the source code of the Table shows that there are huge amount of windowing events flying around in this call.. That brings the windowing system to its knees.
The solution was to hide the damn thing during this call:
table.setVisible(false);
table.remove(from, to);
table.setVisible(true);
That does wonders - deleting 500 items on both XP & Windows7 takes ~15msec, which is just an overhead for printing out time stamps I used.
nice :)
© Stack Overflow or respective owner