Issue metadata
Sign in to add a comment
|
19.1 KiB regression in resource_sizes (MonochromePublic.apk) at 573680:573680 |
||||||||||||||||||||
Issue descriptionCaused by “[Unity][Android] Add Sync settings to SyncAndServicesPreferences” Commit: a0498ea7ea98418187c2d9a2f79ae7b4ab6f4303 Link to size graph: https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgICQpd_TogoM Debugging size regressions is documented at: https://chromium.googlesource.com/chromium/src/+/master/docs/speed/apk_size_regressions.md#Debugging-Apk-Size-Increase Based on the graph: 19.1 KiB of normalized APK size. Based on diagnose_bloat: 6.5 KiB of APK size, It's not clear to me whether or not this increase was expected. Please have a look and either: 1. Close as “Won't Fix” with a short justification, or 2. Land a revert / fix-up.
,
Jul 10
Assigning to bsazonov@chromium.org because this is the only CL in range: [Unity][Android] Add Sync settings to SyncAndServicesPreferences This CL adds Sync settings to SyncAndServicesPreferences. The most of added code is identical to the one in SyncCustomizationFragment, the only significant change is the removal of top-level sync toggle (mIsSyncEnabled is used instead). Bug: 856182 Change-Id: Ie004a7918760e665456b47a1d71a22ece57e1df2 Reviewed-on: https://chromium-review.googlesource.com/1120529 Reviewed-by: Theresa <twellington@chromium.org> Reviewed-by: Marc Treib <treib@chromium.org> Commit-Queue: Boris Sazonov <bsazonov@chromium.org> Cr-Commit-Position: refs/heads/master@{#573680}
,
Jul 10
Note that "normalized APK size" extrapolates from actual size (to account for translated resources). Re. potential size reduction: The CL states "The most of added code is identical to the one in SyncCustomizationFragment". So can some refactoring be applied to dedup code? To see detailed info, please run: tools/binary_size/diagnose_bloat.py --cloud a0498ea7ea98418187c2d9a2f79ae7b4ab6f4303 ******************************Native Diff****************************** Common Metadata: apk_file_name=apks/MonochromePublic.apk elf_arch=arm elf_file_name=lib.unstripped/libmonochrome.so gn_args=ffmpeg_branding="Chrome" goma_dir="/b/build/slave/goma_cache/client" is_chrome_branded=true is_debug=false is_official_build=true proprietary_codecs=true strip_absolute_paths_from_debug_symbols=true symbol_level=1 target_os="android" use_goma=true linker_name=lld_v1 map_file_name=lib.unstripped/libmonochrome.so.map.gz tool_prefix=third_party/llvm-build/Release+Asserts/bin/llvm- Old Metadata: apk_size=68474083 elf_build_id=c5c680d51ec3662ab66624e70070d6e4a3a886bb elf_mtime=2018-07-10 07:26:27 git_revision=ddc19741205d28afde0b6a414d15c4ab13f61ac3 New Metadata: apk_size=68480698 elf_build_id=57c3b7b21caab65393f16121ad14b84be1db9eeb elf_mtime=2018-07-10 07:31:57 git_revision=a0498ea7ea98418187c2d9a2f79ae7b4ab6f4303 Section Sizes (Total=8.23kb (8431 bytes)): .bss: 0 bytes (0 bytes) (not included in totals) .data: 0 bytes (0 bytes) (0.0%) .data.rel.ro: 0 bytes (0 bytes) (0.0%) .dex: 5.09kb (5208 bytes) (61.8%) .other: 3.15kb (3223 bytes) (38.2%) .pak.nontranslated: 0 bytes (0 bytes) (0.0%) .pak.translations: 0 bytes (0 bytes) (0.0%) .rel.dyn: 0 bytes (0 bytes) (0.0%) .rodata: 0 bytes (0 bytes) (0.0%) .text: 0 bytes (0 bytes) (0.0%) 64 symbols added (+), 59 changed (~), 5 removed (-), 1002669 unchanged (not shown) Of changed symbols, 101 grew, 27 shrank Number of unique symbols 632235 -> 632294 (+59) 0 paths added, 0 removed, 26 changed Showing 128 symbols (64 -> 123 unique) with total pss: 8431 bytes Histogram of symbols based on PSS: (-512,-256]: 2 (-16,-8]: 2 [1,2): 25 [16,32): 6 [256,512): 7 (-128,-64]: 4 (-8,-4]: 2 [2,4): 2 [32,64): 10 [512,1024): 2 (-64,-32]: 4 (-4,-2]: 3 [4,8): 1 [64,128): 16 [2048,4096): 1 (-32,-16]: 1 (-2,-1]: 9 [8,16): 23 [128,256): 8 .text=0 bytes .rodata=0 bytes .data.rel.ro=0 bytes .data=0 bytes .bss=0 bytes .dex=-38 bytes .dex.method=5.12kb .pak.translations=0 bytes .pak.nontranslated=0 bytes .other=3.15kb total=8.23kb Number of unique paths: 31 Section Legend: t=.text, r=.rodata, R=.data.rel.ro, d=.data, b=.bss, x=.dex, m=.dex.method, p=.pak.translations, P=.pak.nontranslated, o=.other Index | Running Total | Section@Address | Δ PSS (Δ size_without_padding) | Path ------------------------------------------------------------ ~ 0) 2112 (25.1%) o@0x0 2112 (4641408->4643520) $APK/resources.arsc resources.arsc + 1) 2739 (32.5%) m@0x0 627 (0->627) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#onPreferenceClick + 2) 3241 (38.4%) m@0x0 502 (0->502) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#updateSyncErrorCard + 3) 3722 (44.1%) m@0x0 481 (0->481) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#updateDataTypeState ~ 4) 3309 (39.2%) x@0x0 -413 (30185->29772) {no path} * Unattributed Dex ~ 5) 3717 (44.1%) o@0x0 408 (927->1335) chrome/android/java/res/xml/sync_and_services_preferences.xml res/xml/sync_and_services_preferences.xml ~ 6) 4049 (48.0%) m@0x0 332 (583->915) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#onCreate + 7) 4360 (51.7%) m@0x0 311 (0->311) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#updateSyncPreferences - 8) 4068 (48.3%) m@0x0 -292 (292->0) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences$$Lambda$1#isPreferenceControlledByPolicy + 9) 4360 (51.7%) m@0x0 292 (0->292) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences$$Lambda$4#isPreferenceControlledByPolicy + 10) 4634 (55.0%) m@0x0 274 (0->274) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#getSelectedModelTypes + 11) 4856 (57.6%) m@0x0 222 (0->222) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#updateSyncStateFromSelectedModelTypes ~ 12) 5071 (60.1%) m@0x0 215 (407->622) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#onPreferenceChange + 13) 5279 (62.6%) m@0x0 208 (0->208) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#onPassphraseTypeSelected$20c4b7a1 + 14) 5448 (64.6%) m@0x0 169 (0->169) chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java ProfileSyncService#setPreferredDataTypes + 15) 5609 (66.5%) m@0x0 161 (0->161) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#onStop + 16) 5758 (68.3%) m@0x0 149 (0->149) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#syncStateChanged + 17) 5906 (70.1%) m@0x0 148 (0->148) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#onPassphraseEntered + 18) 6046 (71.7%) m@0x0 140 (0->140) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#onStart + 19) 6169 (73.2%) m@0x0 123 (0->123) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java SyncAndServicesPreferences#configureSyncDataTypes + 20) 6281 (74.5%) m@0x0 112 (0->112) chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java ... ~ 124) 7724 (91.6%) o@0x0 +1 (334->335) chrome/android/java/res/xml/contextual_suggestions_preferences.xml res/xml/contextual_suggestions_preferences.xml ~ 125) 7725 (91.6%) o@0x0 +1 (299->300) chrome/android/java/res/xml/legal_information_preferences.xml res/xml/legal_information_preferences.xml ~ 126) 7726 (91.6%) o@0x0 +1 (721->722) chrome/android/java/res/xml/sync_customization_preferences.xml res/xml/sync_customization_preferences.xml ~ 127) 8431 (100.0%) o@0x0 705 (0->0) {{no path}} Overhead: APK file ******************************Resource Sizes Diff****************************** For an explanation of these metrics, see: https://chromium.googlesource.com/chromium/src/+/master/docs/speed/binary_size/metrics.md#Metrics-for-Android Specifics: +19,593 bytes normalized apk size +5,208 bytes main dex size InstallSize: +6,615 bytes APK size +27,655.32 bytes Estimated installed size InstallBreakdown (+26,950.32 bytes): +411 bytes Non-compiled Android resources size -5 bytes Package metadata size +24,432.32 bytes Java code size +2,112 bytes Compiled Android resources size Dex: +21 entries fields +35 entries methods +3 entries types +3 entries strings
,
Jul 10
The code that got duplicated will be removed after UnifiedConsent feature is launched. |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by 42576172...@developer.gserviceaccount.com
, Jul 10