tp: convert to index vector when filter is followed by sort This CL adds the ability to choose whether to switch the RowMap from a range to an index vector or bit vector depending on whether the filter will be follwed up with a sort. This significantly speeds up the situation where we have a single filter constraint followed by a sort (which the UI occasionally does). Old: +-----------------------------------+-----------+-------+ | | Time (ns) | It | +-----------------------------------+-----------+-------+ | BM_TableFilterAndSortRoot/1024 | 9207 | 72455 | | BM_TableFilterAndSortRoot/4096 | 628240 | 1095 | | BM_TableFilterAndSortRoot/32768 | 7132940 | 99 | | BM_TableFilterAndSortRoot/262144 | 79529315 | 9 | | BM_TableFilterAndSortRoot/2097152 | 757143771 | 1 | +-----------------------------------+-----------+-------+ New: +-----------------------------------+-----------+-------+ | | Time (ns) | It | +-----------------------------------+-----------+-------+ | BM_TableFilterAndSortRoot/1024 | 9446 | 75692 | | BM_TableFilterAndSortRoot/4096 | 29897 | 23489 | | BM_TableFilterAndSortRoot/32768 | 416539 | 1692 | | BM_TableFilterAndSortRoot/262144 | 4779007 | 144 | | BM_TableFilterAndSortRoot/2097152 | 50467757 | 13 | +-----------------------------------+-----------+-------+ Bug: 135177627 Change-Id: Id6e41f3dcea0121684105e2c84ee5aa039613d06
Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.
See www.perfetto.dev for docs.
See /docs/contributing.md for instructions.
The source-of-truth repo is Android's Gerrit. The GitHub repo is a read-only mirror.
You can reach us on our Discord channel. If you prefer using IRC we have an experimental Discord <> IRC bridge synced with #perfetto-dev on Freenode.