Chainsaw is highly sluggish when running for extended amount of time. It happens when there is a big number of LoggingEvents for each tab. The problem is that ChainsawCyclicBufferTableModel creates HashSet (idSet) to keep id number for each row and never removes entries from this hashSet. That's why the amount of used memory is constanlty growing.
Created attachment 20352 [details] Fix for bug 42670
The ChainsawCyclicBufferTableModel class in trunk does not appear to have had the supplied bugfix applied. Is Tomasz Hadams approach the correct way to ensure that the model does not grow too big?
I'll take a look at this soon, but really the suggested patch is not really correct. All the patch does is clear out the idSet hash ( and done quite inefficiently by the looks of it). What needs to happen is that on insert into the Cyclic list, if one 'pops' out, the list should return the dropped event, and we can then use that to remove the ID from the hashset individually.
Fixed in revision 693706. Now just prior to the oldest event being clipped, we remove that event's ID from the tracking set.