Это - больше ответа, которым я хотел бы поделиться для проблемы, которую я преследовал некоторое время в приложении RCP, используя большие таблицы SWT.
Проблема заключается в производительности метода SWT Table.remove (int start, int end). Это дает действительно плохую производительность - около 50 мсек на 100 элементов в моей Windows XP. Но настоящая остановка шоу была в Vista и Windows 7, где удаление 100 элементов заняло бы до 5 секунд! Изучение исходного кода таблицы показывает, что в этом вызове разворачивается огромное количество событий управления окнами. Это ставит систему управления окнами на колени.
Решением было скрыть эту чертову вещь во время этого звонка:
table.setVisible(false);
table.remove(from, to);
table.setVisible(true);
Это чудесно - удаление 500 элементов в XP и Windows7 занимает ~ 15 мсек, что является непроизводительными затратами на распечатку меток времени, которые я использовал.
приятно:)