Issue metadata
Sign in to add a comment
|
33kb regression in resource_sizes (MonochromePublic.apk) at 505219:505219 |
||||||||||||||||||||
Issue descriptionCaused by “Mojo: Scramble message IDs at build time” Commit: 496fe9b7b6233b74af73c71c87404bc3f27323d4 Link to size graph: https://chromeperf.appspot.com/report?sid=a097e74b1aa288511afb4cb616efe0f95ba4d347ad61d5e835072f23450938ba&num_points=10&rev=505219 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: 400 bytes of dex, and the rest is native code growth (.text section) It's not clear to me whether or not this increase was expected. Please have a look and either: Close as “Won't Fix” with a short justification, or Land a revert / fix-up.
,
Sep 29 2017
Output of: tools/binary_size/diagnose_bloat.py 496fe9b7b6233b74af73c71c87404bc3f27323d4 --cloud 1 symbols added (+), 2076 changed (~), 0 removed (-), 529460 unchanged (not shown) Number of unique symbols 410560 -> 410710 (+150) 0 paths added, 0 removed, 239 changed Showing 2,077 symbols (aliases not grouped for diffs) with total pss: 36109 bytes .text=35.3kb .rodata=0 bytes .data.rel.ro=0 bytes .data=0 bytes .bss=0 bytes total=35.3kb Number of unique paths: 239 Section Legend: t=.text, r=.rodata, R=.data.rel.ro, d=.data, b=.bss Index | Running Total | Section@Address | Δ PSS (Δ size_without_padding) | Path ------------------------------------------------------------ + 0) -434 (-1.2%) t@0x0 -434 (0->0) {{no path}} ** aggregate padding of diff'ed symbols ~ 1) -190 (-0.5%) t@0xa8eedc 244 (3120->3364) content/common/indexed_db/indexed_db.mojom.cc indexed_db::mojom::DatabaseStubDispatch::Accept ~ 2) 38 (0.1%) t@0xa966b8 228 (1592->1820) content/common/input/input_handler.mojom.cc content::mojom::FrameInputHandlerStubDispatch::Accept ~ 3) 258 (0.7%) t@0xa96e78 220 (724->944) content/common/input/input_handler.mojom.cc content::mojom::FrameInputHandlerRequestValidator::Accept ~ 4) 470 (1.3%) t@0xa8fe3c 212 (700->912) content/common/indexed_db/indexed_db.mojom.cc indexed_db::mojom::DatabaseRequestValidator::Accept ~ 5) 638 (1.8%) t@0xae0c78 168 (520->688) components/leveldb/public/interfaces/leveldb.mojom.cc leveldb::mojom::LevelDBDatabaseRequestValidator::Accept ~ 6) 806 (2.3%) t@0xb9159c 168 (520->688) services/viz/privileged/interfaces/gl/gpu_service.mojom.cc viz::mojom::GpuServiceRequestValidator::Accept ~ 7) 958 (2.7%) t@0xaaf6e0 152 (496->648) content/common/service_worker/service_worker_event_dispatcher.mojom.cc content::mojom::ServiceWorkerEventDispatcherRequestValidator::Accept ~ 8) 1103 (3.1%) t@Group 145 (0->0) {{no path}} ** symbol gaps (count=9) ~ 9) 1247 (3.6%) t@0xaae13c 144 (3164->3308) content/common/service_worker/service_worker_event_dispatcher.mojom.cc content::mojom::ServiceWorkerEventDispatcherStubDispatch::AcceptWithResponder ~ 10) 1387 (4.0%) t@0xeae400 140 (472->612) components/autofill/content/common/autofill_driver.mojom.cc autofill::mojom::PasswordManagerDriverRequestValidator::Accept ~ 11) 1527 (4.4%) t@0xae74dc 140 (472->612) components/filesystem/public/interfaces/directory.mojom.cc filesystem::mojom::DirectoryRequestValidator::Accept ~ 12) 1667 (4.8%) t@0xadef9c 140 (4312->4452) components/leveldb/public/interfaces/leveldb.mojom.cc leveldb::mojom::LevelDBDatabaseStubDispatch::AcceptWithResponder ~ 13) 1803 (5.1%) t@0xaafa64 136 (320->456) content/common/service_worker/service_worker_event_dispatcher.mojom.cc content::mojom::ServiceWorkerEventDispatcherResponseValidator::Accept ~ 14) 1931 (5.5%) t@0xeadd54 128 (1520->1648) components/autofill/content/common/autofill_driver.mojom.cc autofill::mojom::PasswordManagerDriverStubDispatch::Accept ~ 15) 2055 (5.9%) t@0xae6590 124 (2308->2432) components/filesystem/public/interfaces/directory.mojom.cc filesystem::mojom::DirectoryStubDispatch::AcceptWithResponder ~ 16) 2179 (6.2%) t@0xa8c47c 124 (1800->1924) content/common/indexed_db/indexed_db.mojom.cc indexed_db::mojom::CallbacksStubDispatch::Accept ~ 17) 2303 (6.6%) t@0xae1038 124 (308->432) components/leveldb/public/interfaces/leveldb.mojom.cc leveldb::mojom::LevelDBDatabaseResponseValidator::Accept ~ 18) 2419 (6.9%) t@0xea8ed8 116 (420->536) components/autofill/content/common/autofill_agent.mojom.cc autofill::mojom::AutofillAgentRequestValidator::Accept ~ 19) 2535 (7.2%) t@0xea895c 116 (1160->1276) components/autofill/content/common/autofill_agent.mojom.cc autofill::mojom::AutofillAgentStubDispatch::Accept ~ 20) 2651 (7.6%) t@0xae782c 116 (296->412) components/filesystem/public/interfaces/directory.mojom.cc filesystem::mojom::DirectoryResponseValidator::Accept ~ 21) 2767 (7.9%) t@0xaebbf4 116 (420->536) components/filesystem/public/interfaces/file.mojom.cc filesystem::mojom::FileRequestValidator::Accept ~ 22) 2883 (8.2%) t@0xa8cdc8 116 (420->536) content/common/indexed_db/indexed_db.mojom.cc indexed_db::mojom::CallbacksRequestValidator::Accept ~ 23) 2996 (8.6%) t@0xb0fb0c 113 (18->132) third_party/WebKit/public/platform/modules/background_fetch/background_fetch.mojom.cc blink::mojom::BackgroundFetchService_UpdateUI_ProxyToResponder::Run (num_aliases=7->1) ~ 24) 3110 (8.9%) t@0xb16b94 113 (18->132) third_party/WebKit/public/platform/modules/keyboard_lock/keyboard_lock.mojom.cc blink::mojom::KeyboardLockService_RequestKeyboardLock_ProxyToResponder::Run (num_aliases=7->1) ~ 25) 3224 (9.2%) t@0xb1812c 113 (18->132) third_party/WebKit/public/platform/modules/notifications/notification_service.mojom.cc blink::mojom::NotificationService_GetPermissionStatus_ProxyToResponder::Run (num_aliases=7->1) ~ 26) 3337 (9.5%) t@0xb1aac0 113 (18->132) third_party/WebKit/public/platform/modules/permissions/permission.mojom.cc blink::mojom::PermissionService_HasPermission_ProxyToResponder::Run (num_aliases=7->1) ~ 27) 3451 (9.9%) t@0xb1ab44 113 (18->132) third_party/WebKit/public/platform/modules/permissions/permission.mojom.cc blink::mojom::PermissionService_RequestPermission_ProxyToResponder::Run (num_aliases=7->1) ~ 28) 3565 (10.2%) t@0xb119cc 113 (18->132) third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom.cc blink::mojom::WebBluetoothService_RemoteServerConnect_ProxyToResponder::Run (num_aliases=7->1) ~ 29) 3679 (10.5%) t@0xb2c238 113 (18->132) device/screen_orientation/public/interfaces/screen_orientation.mojom.cc device::mojom::ScreenOrientation_LockOrientation_ProxyToResponder::Run (num_aliases=7->1) ~ 30) 3792 (10.8%) t@0xae5794 113 (18->132) components/filesystem/public/interfaces/directory.mojom.cc filesystem::mojom::Directory_OpenFile_ProxyToResponder::Run (num_aliases=7->1) ~ 31) 3906 (11.2%) t@0xaea35c 113 (18->132) components/filesystem/public/interfaces/file.mojom.cc filesystem::mojom::File_Close_ProxyToResponder::Run (num_aliases=7->1) ~ 32) 4020 (11.5%) t@0xad9c2c 113 (18->132) components/leveldb/public/interfaces/leveldb.mojom.cc
,
Sep 29 2017
The only code change here is intentionally moving message IDs from sequential 0-based integers, to arbitrary 32-bit hash values. The numbers are generated at build time though, so the extra code size is from the integers themselves and probably a slightly larger switch/case block as a result. If we want scrambled message IDs, this will probably be unavoidable.
,
Sep 29 2017
Confirmed the size increase is from the numbers getting larger and more random. However, the attached bug indicates that this randomization is needed only for desktop platforms. Could we disable it for is_android?
,
Sep 29 2017
Sure, makes sense. Note that it's getting reverted for now anyway since it affects build determinism and we need to figure that out first. I'll close this after the revert lands, and ensure that the reland doesn't affect Android build.
,
Sep 29 2017
Revert landed in r505413. The reland prohibits this change from affecting Android in the future: https://chromium-review.googlesource.com/c/chromium/src/+/693037 |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by 42576172...@developer.gserviceaccount.com
, Sep 29 2017