This patch improves the performance of opening the filter dialog
of the time graph view. The dialog can take many minutes to open
with traces that contain 10 000+ threads, because of an O(n²)
algorithm to associate threads with their parent. With this change,
it takes about 8 seconds to open the dialog.
Change-Id: Ib4f4c41583705041a3df9d7ca26d2f883ffd9a43
Signed-off-by: Mathieu Cote <mathieu.cote@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/41789
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
@Override
protected TreeViewer doCreateTreeViewer(Composite parentComposite, int style) {
fCheckboxTreeViewer = new CheckboxTreeViewer(parentComposite, style);
+ fCheckboxTreeViewer.setUseHashlookup(true);
fCheckboxTreeViewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {