commit | 3ee0996f93a9c9b3202610843a1cd426330049e0 | [log] [tgz] |
---|---|---|
author | Lalit Maganti <lalitm@google.com> | Thu Oct 24 19:14:21 2019 +0100 |
committer | Lalit Maganti <lalitm@google.com> | Thu Oct 24 19:14:21 2019 +0100 |
tree | 0c9d9e780303441610fd6a6a034f75e1f081b536 | |
parent | 846ed7a1e3c5b3ee181c0ab06fc0c732c2e586a3 [diff] |
trace_processor: switch to creating ranged RowMap when filtering This CL changes to creating a ranged RowMap when filtering a Table instead of a BitVector. This makes nested subqueries which occur during joins on ID columns O(1). Old: ---------------------------------------------------------------------- Benchmark Time CPU Iterations ---------------------------------------------------------------------- BM_TableFilterIdColumn/1024 244 ns 244 ns 2871097 BM_TableFilterIdColumn/4096 255 ns 255 ns 2743052 BM_TableFilterIdColumn/32768 429 ns 429 ns 1642865 BM_TableFilterIdColumn/262144 3319 ns 3318 ns 209343 BM_TableFilterIdColumn/2097152 19921 ns 19918 ns 34571 New: ---------------------------------------------------------------------- Benchmark Time CPU Iterations ---------------------------------------------------------------------- BM_TableFilterIdColumn/1024 156 ns 156 ns 4473738 BM_TableFilterIdColumn/4096 158 ns 158 ns 4459875 BM_TableFilterIdColumn/32768 159 ns 159 ns 4430902 BM_TableFilterIdColumn/262144 160 ns 160 ns 4384701 BM_TableFilterIdColumn/2097152 160 ns 160 ns 4374038 Analysis: The filtering on id columns is finally O(1) and faster at every size. Context: go/perfetto-tp-refactor Bug: 135177627 Change-Id: I79d7f04a2d7353ff72293b502394feea8d93f988
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.