Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #3
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Giraffe Canary 1 (2022.3.1.1)
- Android Gradle Plugin 8.1.0
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
ap...@google.com <ap...@google.com> #4
Project: r8
Branch: 8.0
commit 6d14908a652431a6597c5462587568b6937ed9fe
Author: Ian Zerny <zerny@google.com>
Date: Mon Jan 16 10:43:25 2023
Version 8.0.26
Bug: b/265148324
Change-Id: I18eec5e48e167f9e0b951660fe8934c37357f228
M src/main/java/com/android/tools/r8/Version.java
https://r8-review.googlesource.com/75155
Branch: 8.0
commit 6d14908a652431a6597c5462587568b6937ed9fe
Author: Ian Zerny <zerny@google.com>
Date: Mon Jan 16 10:43:25 2023
Version 8.0.26
Bug:
Change-Id: I18eec5e48e167f9e0b951660fe8934c37357f228
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #5
Project: r8
Branch: 8.0
commit 9f5d05983b53811f73c2854e7bf8c928e14daf37
Author: Ian Zerny <zerny@google.com>
Date: Mon Jan 16 10:43:08 2023
Introduce a field collection with array and map-based backings.
Bug: b/265148324
Change-Id: I5155084088ce04e389073314d763b4a952610add
M src/main/java/com/android/tools/r8/graph/DexClass.java
M src/main/java/com/android/tools/r8/graph/DexClasspathClass.java
A src/main/java/com/android/tools/r8/graph/DexFieldSignature.java
M src/main/java/com/android/tools/r8/graph/DexProgramClass.java
A src/main/java/com/android/tools/r8/graph/FieldArrayBacking.java
A src/main/java/com/android/tools/r8/graph/FieldCollection.java
A src/main/java/com/android/tools/r8/graph/FieldCollectionBacking.java
A src/main/java/com/android/tools/r8/graph/FieldMapBacking.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingTreeFixer.java
https://r8-review.googlesource.com/75154
Branch: 8.0
commit 9f5d05983b53811f73c2854e7bf8c928e14daf37
Author: Ian Zerny <zerny@google.com>
Date: Mon Jan 16 10:43:08 2023
Introduce a field collection with array and map-based backings.
Bug:
Change-Id: I5155084088ce04e389073314d763b4a952610add
M src/main/java/com/android/tools/r8/graph/DexClass.java
M src/main/java/com/android/tools/r8/graph/DexClasspathClass.java
A src/main/java/com/android/tools/r8/graph/DexFieldSignature.java
M src/main/java/com/android/tools/r8/graph/DexProgramClass.java
A src/main/java/com/android/tools/r8/graph/FieldArrayBacking.java
A src/main/java/com/android/tools/r8/graph/FieldCollection.java
A src/main/java/com/android/tools/r8/graph/FieldCollectionBacking.java
A src/main/java/com/android/tools/r8/graph/FieldMapBacking.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingTreeFixer.java
Description
The resolution of b/151804585 did not introduce a new field backing, thus lookups within a class are linear search in the field arrays. This has noticeable performance impact witnessed in b/264430795
Using the dump information provided in b/264430795 , the initial regression came with CLs:
With the bottom CL being fairly equal in runtime to the original report at version 2.0.99.
Total regression is about ~1.5min on a previously 4.5min build (increase of about 33% in compiletime).
We should introduce a (potentially) hash-map based field collection backing mirroring the backing for methods.