The callgraph analysis receive out of order segments when multi-threaded.
This accelerates the callgraph creation by an order of magnitude in that
case.
Bug 500591
Change-Id: Iba9436a7df9ccbc4d3cb3d6ec5ce7377e17f8d2c
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/79878
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
import org.eclipse.tracecompass.analysis.timing.core.segmentstore.ISegmentStoreProvider;
import org.eclipse.tracecompass.common.core.StreamUtils;
import org.eclipse.tracecompass.internal.analysis.timing.core.Activator;
-import org.eclipse.tracecompass.internal.analysis.timing.core.store.ArrayListStore;
+import org.eclipse.tracecompass.internal.analysis.timing.core.store.LazyArrayListStore;
import org.eclipse.tracecompass.segmentstore.core.ISegment;
import org.eclipse.tracecompass.segmentstore.core.ISegmentStore;
import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem;
/**
* Segment store
*/
- private final ISegmentStore<@NonNull ISegment> fStore = new ArrayListStore<>();
+ private final ISegmentStore<@NonNull ISegment> fStore = new LazyArrayListStore<>();
/**
* Listeners