Reduce binary size bloat from Protobuf in Cronet binary size |
|||
Issue descriptionThis is a tracking CL for investigating how significantly the size of the Cronet binary can be reduced by uninlining protobuf (and potentially other) functions. The tool that can help to measure the impact: https://github.com/zetafunction/inlined Since the uninlining can impact the performance of the binary, this should only be done for Cronet, keeping inlining in Chromium.
,
Jun 8 2016
To have all information in one thread. pauljensen@ mentioned that it might be worth investigating whether Cronet can use protobuf lite. He found that protobuf roll, crrev.com/388596, caused a 0.6% ARM, 1.3% ARM64, 1.2% x86 size regression. And another protobuf roll, crrev.com/397491, is probably the culprit of the 0.6% x86 size regression in r397473 - r397506.
,
Jun 9 2016
Chrome is already using protobuf_lite everywhere (see https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/Qpn8hK4WH5A). During the investigation, there isn't much gain to be made from uninlining. Most of the increase results from google/protobuf/stubs. Since Cronet is using that (indirectly through dependency on chrome_user_metrics_extension.pb.h), it can't be removed from linking time. I am marking this as WontFix. If someone else would like to give it a try, please re-open. |
|||
►
Sign in to add a comment |
|||
Comment 1 by mge...@chromium.org
, Jun 7 2016Owner: xunji...@chromium.org
Status: Assigned (was: Untriaged)