android builds (incl. standalone): switch from Oz to O2

This speeds up ftrace parsing by about ~25% (12% little
core -> 9% little core) on a crosshatch under medium load.

In terms of binary size (android tree builds on master):

HEAD:
12K   bin/traced_probes
12K   bin/traced
600K  bin/perfetto
316K  bin/trigger_perfetto
940K  lib64/libperfetto.so
32K   lib64/libperfetto_android_internal.so

This topic:
12K   bin/traced_probes
12K   bin/traced
708K  bin/perfetto
364K  bin/trigger_perfetto
1.1M  lib64/libperfetto.so
28K   lib64/libperfetto_android_internal.so

On GetStaticEventInfo in particular:
* without the posted change, we're about +75K on libperfetto.so
  when switching to O2.

I've kept the return type as a vector since the proto translation
table ends up operating on a dynamic vector in the end. I've also
kept it separate from trace_processor's ftrace descriptor array,
since they are different enough that a shared definition ends up
being more convoluted.

"bloaty" diff on libperfetto.so (this topic (O2) vs head (Oz)):
  file size +165K
  vm size +203K
https://paste.googleplex.com/5528773631934464

Change-Id: I442d42914dcc7ab56a09f068cb86b2842c2c3297
2 files changed
tree: 80ecfc294672841692b2addc87bff12e62b84648
  1. bazel/
  2. build_overrides/
  3. buildtools/
  4. debian/
  5. docs/
  6. gn/
  7. include/
  8. infra/
  9. protos/
  10. src/
  11. test/
  12. tools/
  13. ui/
  14. .clang-format
  15. .gitignore
  16. .gn
  17. Android.bp
  18. Android.bp.extras
  19. BUILD
  20. BUILD.extras
  21. BUILD.gn
  22. codereview.settings
  23. heapprofd.rc
  24. MODULE_LICENSE_APACHE2
  25. NOTICE
  26. OWNERS
  27. perfetto.rc
  28. PRESUBMIT.py
  29. README.chromium
  30. README.md
  31. TEST_MAPPING
  32. WORKSPACE
README.md

Perfetto - Performance instrumentation and tracing

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.

Bugs

  • For bugs affecting Android or the tracing internals use the internal bug tracker (go/perfetto-bugs).
  • For bugs affecting Chrome use http://crbug.com, Component:Speed>Tracing label:Perfetto.