Status Update
Comments
se...@google.com <se...@google.com>
ra...@google.com <ra...@google.com> #2
Baseline profiles also participate in the obfuscation process, like classes; so this already works.
it...@gmail.com <it...@gmail.com> #3
Do you mean the functions & classes recorded by the baseline's benchmark test are refactored with the new obfuscated ones when the minification task is completed?
ra...@google.com <ra...@google.com> #4
That is correct.
it...@gmail.com <it...@gmail.com> #5
Great! Thanks for the update!
sg...@google.com <sg...@google.com> #6
Just a clarifying update. The mapping of the baseline profiles use the R8 mapping file to map from the input to the output. As the mapping file is not designed for mapping in that direction the mapping will not always be complete but use a "best effort" approach. This usually give good results, but can miss some items in the profile.
an...@immobiliare.it <an...@immobiliare.it> #7
Does that mean we should expect the baseline-prof.txt
file (the one that is generated on a device and copied as a sibling of AndroidManifest.xml in the main source set) to not contain obfuscated class names? Is the minification Gradle task taking care of mapping that file to correct values when bundling a binary version of the baseline profile in the app artifact?
ra...@google.com <ra...@google.com> #8
That is correct.
ca...@gmail.com <ca...@gmail.com> #9
Is there any harm in generating the baseline profile with obfuscation turned on?
o....@1plus1.tv <o....@1plus1.tv> #10
Is there any harm in generating the baseline profile with obfuscation turned on? Because in this article
Description
Component used: MacroBenchmark + Baseline Profiles Version used: RC03 Devices/Android versions reproduced on: All
It is suggested that the MacroBenchmark's build-types be as close to the
release
build but with-dontobfuscate
in the proguard rules.If the production app is going to be
obfuscated
viaminification
then how can Baseline Profiler help in app performance as the classes could be completely different inbaseline-prof.txt
& in the app'sclasses.dex
file.Is there some sort of mapping happening internally between Profiler & Proguard/R8 or is this not supported yet?
If not supported, it would be great to add that to the documentation.