commit | c599450b2d91cdfe3f1831d1bc854309c3a31199 | [log] [tgz] |
---|---|---|
author | Lalit Maganti <lalitm@google.com> | Thu Oct 24 14:14:20 2019 +0100 |
committer | Lalit Maganti <lalitm@google.com> | Thu Oct 24 14:14:20 2019 +0100 |
tree | f5e5b81e03b0cde3cbbaaaeccb4324ce0b9e5a38 | |
parent | 38c2b4512e7410edf314ebe996e37384155f93c0 [diff] |
trace_processor: add range mode to RowMap This CL adds a "range" mode to Row which allows a block of rows to be stored efficiently without the memory/cpu overhead of BitVector. Specifically, there are two instances where this is valuable: 1. When we create the initial RowMap for filtering, we no longer need to actually allocate memory for the bitvector but instead just store a range with all the rows in the table. 2. When we have nested subqueries on id columns, we end up with only having zero or one rows in a RowMap and it's inefficient to create a huge bitvector to store this one value. A follow up CL will actually start making use of this feature with benchmarks to measure performance. Context: go/perfetto-tp-refactor Bug: 135177627 Change-Id: I3783eaf2d9aab2d58ab4d6ca5c9c6b2979cf3c76
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.
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.