timing.core: speed up (Lazy)ArrayList queries with binary search
The getIntersectingElements queries on the (Lazy)ArrayList
SegmentStore would iterate through the entire store with a
stream().filter(), whereas the store is sorted by start time,
then by end time of the segments.
By using a binary search on the store, we can narrow down the
iteration to the relevant sublist thus speeding queries up to 50%
on querying from real analyses.
Change-Id: Idb798f42571d14130acd26c0d126cc7b6cdbf04c
Signed-off-by: Loïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Reviewed-on: https://git.eclipse.org/r/81503
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
This page took 0.024356 seconds and 5 git commands to generate.