diff options
author | 2024-01-22 09:43:55 +0000 | |
---|---|---|
committer | 2024-01-23 14:28:20 +0000 | |
commit | cb406b706134e0e5b444b8c705064de772391481 (patch) | |
tree | 63ede3bf02d33565cc6b6bcf89af140d85d93d05 /compiler/optimizing/nodes.h | |
parent | 0c36cea9ffc17d0fbdb3797917b095818ca15973 (diff) |
Reduce memory used for blocked registers.
Represent groups of registers blocked for calls, catch
blocks and irreducible loop headers by a special interval
to reduce memory use and improve performance.
Building the boot image on host with
kArenaAllocatorCountAllocations = true
kArenaAllocatorPreciseTracking = false
kArenaAllocatorMemoryReportThreshold = 16 * MB
dex2oat reports only `IActivityManager$Stub.onTransact` and
the difference in arena memory usage is
- arm: 19481332 -> 18568516
- ArenaStack: 4913380 -> 4000564
- SsaLiveness 2435300 -> 1522700
- RegAllocator 102808 -> 102592
- arm64: 19500044 -> 17893052
- ArenaStack: 5601636 -> 3994644
- SsaLiveness 3122836 -> 1516444
- RegAllocator 103560 -> 102960
Building a mini boot image (ART module dex files only) for
arm64 with with the "speed" filter and `--dump-timings` and
taking three samples with and without `baseline` I measured
- "dex2oat took":
- before: 6.181s, 6.174s, 6.235s
- after: 6.056s, 6.081s, 6.069s
- baseline before: 4.189s, 4.075s, 3.876s
- baseline after: 3.766s, 3.769s, 3.757s
- sum of the five "Compile Dex File Quick":
- before: 3.720s, 3.732s, 3.756s
- after: 3.593s, 3.62s, 3.605s
- baseline before: 1.645s, 1.469s, 1.425s
- baseline after: 1.322s, 1.320s, 1.322s
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Change-Id: I356e7cc5a42af9b5b6bfee3dbef538d9025ca398
Diffstat (limited to 'compiler/optimizing/nodes.h')
0 files changed, 0 insertions, 0 deletions