simpleperf: report_html.py: split disassemble work evenly
Currently, report_html.py decides how to disassemble functions by
checking how many functions need to be disassembled in a binary:
1) If not many, disassemble the functions one by one.
2) Otherwise, disassemble the whole binary.
However, the samples may hit many functions in a large binary (like
libmonochrome_64.so), while they only take a small percentage of
the binary. And the time used to disassemble the whole binary can
be longer than disassembling all other files.
To speed it up, we can split the large binary into multiple parts,
each taking 1M code size, and disassemble needed parts on different CPUs.
In an experiment disassembling chrome profile, the disassembling
time is reduced from 3 minutes to 2 minutes. The time is printed
by adding `--log debug`.
Also add `--disassemble-job-size` to adjust code split size.
Bug: 323271419
Test: run report_html.py manually
Test: run test.py --only-host-test
Change-Id: I6af546616cbca7e294956b610182757b679fcb04
2 files changed