Issue metadata
Sign in to add a comment
|
App binary size increased a lot after upgrading cronet version from 60.0.3112.89 to 65.0.3325.152
Reported by
j...@snapchat.com,
Apr 6 2018
|
||||||||||||||||||||||
Issue descriptionSteps to reproduce the problem: 1. Checkout to version 65.0.3325.152 and build static cronet libs by running the following commands: gn gen out/Release-iphoneos --args='is_cronet_build=true ios_enable_code_signing=false is_component_build=false target_cpu = "arm" target_os="ios" enable_websockets=false disable_file_support=true disable_ftp_support=true use_platform_icu_alternatives=true disable_brotli_filter=true is_component_build=false is_debug=false enable_dsyms=true enable_stripping=true symbol_level=0 use_xcode_clang=true additional_target_cpus = [ "arm64" ]' --ide=xcode ninja -C out/Release-iphoneos libcronet 2. Replace the old lib binary with the new one 3. Build the app and sees a app binary increase about 1.5mb (compressed size) What is the expected behavior? What went wrong? Don't expect there would be such a big difference for the binary size. We are wondering if there are new libraries introduced in 65.0.3325.152 compared with 60.0.3112.89, and if the size increase is expected. The binary size increase for the static lib itself is about 2mb. Did this work before? Yes 60.0.3112.89 Chrome version: 65.0.3325.152 Channel: stable OS Version: OS X 10.12.6 Flash Version:
,
Apr 13 2018
,
Sep 5
I can confirm that Cronet.framework has gained about 2mb between smallest size in M60: 6675440 60.0.3104.0/Release-iphoneos/cronet/Cronet.framework/Cronet and biggest in M71: 8777920 71.0.3542.2/Release-iphoneos/cronet/Cronet.framework/Cronet See attached file for details. The growth appears to be somewhat gradual with few bigger jumps. We can start by identifying and addressing bigger jumps. We should also setup binary size monitoring similar to Cronet for Android.
,
Sep 25
One thing that could be useful for 3p clients is to remove dependency on //components/metrics. It pulls in over 200k of binary code and is not useful outside of 1p apps. There is prototype CL https://chromium-review.googlesource.com/c/chromium/src/+/1213511 that can be productized by introducing a gn flag for that.
,
Oct 2
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a0b0fe610da36cd96ea30e314337e54ba884fe4c commit a0b0fe610da36cd96ea30e314337e54ba884fe4c Author: Misha Efimov <mef@google.com> Date: Tue Oct 02 14:23:44 2018 [Cronet] Optionally remove //components/metrics dependency to reduce binary size. Add disable_histogram_support gn argument. If set to "true", then GetHistogramDeltas() support is disabled, and Cronet size is reduced by about 200 kilobytes. Bug: 830005 Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;master.tryserver.chromium.android:android_cronet_tester Change-Id: I34806415bc08e700e8753e728572da896f1edf04 Reviewed-on: https://chromium-review.googlesource.com/1256122 Commit-Queue: Misha Efimov <mef@chromium.org> Reviewed-by: Paul Jensen <pauljensen@chromium.org> Cr-Commit-Position: refs/heads/master@{#595827} [modify] https://crrev.com/a0b0fe610da36cd96ea30e314337e54ba884fe4c/components/cronet/BUILD.gn [modify] https://crrev.com/a0b0fe610da36cd96ea30e314337e54ba884fe4c/components/cronet/ios/BUILD.gn [modify] https://crrev.com/a0b0fe610da36cd96ea30e314337e54ba884fe4c/components/cronet/ios/cronet_environment.mm [modify] https://crrev.com/a0b0fe610da36cd96ea30e314337e54ba884fe4c/components/cronet/ios/test/BUILD.gn [modify] https://crrev.com/a0b0fe610da36cd96ea30e314337e54ba884fe4c/components/cronet/ios/test/cronet_http_test.mm
,
Dec 21
We don't expect to do any additional work on this. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by nhar...@chromium.org
, Apr 11 2018