Issue metadata
Sign in to add a comment
|
32 kb regression in resource_sizes (MonochromePublic.apk) at 513401:513401 |
||||||||||||||||||||
Issue descriptionCaused by "Roll src/third_party/webrtc/ 868607710..390d01094 (5 commits)" Commit: fc76f9326317b5c232c4e413be8ed968ee84ca94 Link to size graph: https://chromeperf.appspot.com/report?sid=a097e74b1aa288511afb4cb616efe0f95ba4d347ad61d5e835072f23450938ba&num_points=10&rev=513401 Debugging size regressions is documented at: https://chromium.googlesource.com/chromium/src/+/master/docs/speed/apk_size_regressions.md#Debugging-Apk-Size-Increase
,
Nov 3 2017
Deleted c#1 since I must've messed something up and uploaded the wrong diff. Actual diff looks as expected:
Showing 263 symbols (aliases not grouped for diffs) with total pss: 29740 bytes
Histogram of symbols based on PSS:
(-64,-32]: 1 (0,1): 9 [4,8): 12 [32,64): 35 [256,512): 16 [2048,4096): 1
(-8,-4]: 1 [1,2): 14 [8,16): 21 [64,128): 34 [512,1024): 3
(-1,0): 39 [2,4): 17 [16,32): 22 [128,256): 32 [1024,2048): 6
.text=22.8kb .rodata=6.02kb .data.rel.ro=208 bytes .data=0 bytes .bss=0 bytes total=29.0kb
Number of unique paths: 120
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) 2176 (7.2%) r@0x2a02268 2176 (0->2176) third_party/webrtc/modules/audio_coding/codecs/ilbc/constants.c
WebRtcIlbcfix_kLsfCb
+ 1) 3944 (13.1%) t@0x14710d0 1768 (0->1768) third_party/webrtc/modules/audio_coding/codecs/ilbc/cb_search.c
WebRtcIlbcfix_CbSearch
+ 2) 5596 (18.6%) t@0x1472db0 1652 (0->1652) third_party/webrtc/modules/audio_coding/codecs/ilbc/enhancer_interface.c
WebRtcIlbcfix_EnhancerInterface
+ 3) 7128 (23.7%) t@0x147419e 1532 (0->1532) third_party/webrtc/modules/audio_coding/codecs/ilbc/pack_bits.c
WebRtcIlbcfix_PackBits
+ 4) 8484 (28.2%) t@0x1472694 1356 (0->1356) third_party/webrtc/modules/audio_coding/codecs/ilbc/encode.c
WebRtcIlbcfix_EncodeImpl
+ 5) 9812 (32.7%) t@0x14755ee 1328 (0->1328) third_party/webrtc/modules/audio_coding/codecs/ilbc/unpack_bits.c
WebRtcIlbcfix_UnpackBits
+ 6) 11068 (36.8%) t@0x14721ac 1256 (0->1256) third_party/webrtc/modules/audio_coding/codecs/ilbc/do_plc.c
WebRtcIlbcfix_DoThePlc
+ 7) 11932 (39.7%) t@0x1471aa0 864 (0->864) third_party/webrtc/modules/audio_coding/codecs/ilbc/decode.c
WebRtcIlbcfix_DecodeImpl
+ 8) 12648 (42.1%) t@0x1474f34 716 (0->716) third_party/webrtc/modules/audio_coding/codecs/ilbc/smooth.c
WebRtcIlbcfix_Smooth
+ 9) 13252 (44.1%) t@0x1471e00 604 (0->604) third_party/webrtc/modules/audio_coding/codecs/ilbc/decode_residual.c
WebRtcIlbcfix_DecodeResidual
+ 10) 13732 (45.7%) r@0x2a02030 480 (0->480) third_party/webrtc/modules/audio_coding/codecs/ilbc/constants.c
WebRtcIlbcfix_kLpcAsymWin
+ 11) 14212 (47.3%) r@0x2a01e50 480 (0->480) third_party/webrtc/modules/audio_coding/codecs/ilbc/constants.c
WebRtcIlbcfix_kLpcWin
+ 12) 14676 (48.8%) t@0x14747c4 464 (0->464) third_party/webrtc/modules/audio_coding/codecs/ilbc/poly_to_lsp.c
WebRtcIlbcfix_Poly2Lsp
+ 13) 15094 (50.2%) t@0x1475cbc 418 (0->416) third_party/webrtc/modules/audio_coding/codecs/ilbc/xcorr_coef.c
WebRtcIlbcfix_XcorrCoef
+ 14) 15510 (51.6%) t@0x1474994 416 (0->416) third_party/webrtc/modules/audio_coding/codecs/ilbc/refiner.c
WebRtcIlbcfix_Refiner
+ 15) 15926 (53.0%) t@0x1474b34 416 (0->416) third_party/webrtc/modules/audio_coding/codecs/ilbc/simple_interpolate_lsf.c
WebRtcIlbcfix_SimpleInterpolateLsf
+ 16) 16314 (54.3%) t@0x1475454 388 (0->388) third_party/webrtc/modules/audio_coding/codecs/ilbc/state_search.c
WebRtcIlbcfix_StateSearch
+ 17) 16664 (55.5%) t@0x14737a4 350 (0->348) third_party/webrtc/modules/audio_coding/codecs/ilbc/get_sync_seq.c
WebRtcIlbcfix_GetSyncSeq
+ 18) 17000 (56.6%) t@0x147205c 336 (0->336) third_party/webrtc/modules/audio_coding/codecs/ilbc/decoder_interpolate_lsf.c
WebRtcIlbcfix_DecoderInterpolateLsp
+ 19) 17336 (57.7%) t@0x1475304 336 (0->336) third_party/webrtc/modules/audio_coding/codecs/ilbc/state_construct.c
WebRtcIlbcfix_StateConstruct
...
Due to this commit: eb254b40b33380fcec43028dd89f3f6bab3d08a7, "Don't select audio codecs depending on GN vars `build_with_{chromium|mozilla}`"
It looks like this increase was probably unexpected or might be avoidable.
Please have a look and either:
Close as “Won't Fix” with a short justification, or
Land a revert / fix-up.
Karl, can you take a look? Are there any unused codecs we can exclude from Chrome on Android?
,
Nov 3 2017
Attached the wrong diff again.
,
Nov 3 2017
Ah. Chromium does specify exactly what audio codecs it wants, but I haven't quite finished eliminating all the codec dependencies internal to WebRTC, which is why you pick up iLBC. Setting the GN variable rtc_include_ilbc to false should take care of this until I've eliminated those deps. I'll see if I can figure out in what .gn file I should put that... As for other unused codecs, once I've fixed those deps you'll be free to experiment by changing the codec list in content/renderer/media/webrtc/audio_codec_factory.cc.
,
Nov 3 2017
This should fix it: https://chromium-review.googlesource.com/c/chromium/src/+/753486
,
Nov 3 2017
Great, thanks for the quick fix! If you want to check locally what the binary size decrease is you could run tools/binary_size/diagnose_bloat.py -v COMMIT.
,
Nov 4 2017
After I'd installed all the Android build deps, that command chugged along for about an hour before failing uninformatively. So instead, I verified manually that the size of the `chrome` binary in my opt Linux build goes from 189060824 to 188985648 bytes---a drop of 73.4 kB, which is about what we could expect. The CL is waiting for you to review it now.
,
Nov 4 2017
,
Nov 5 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f3b599b9922b753585ed5bc6be9fe40dbea60ad0 commit f3b599b9922b753585ed5bc6be9fe40dbea60ad0 Author: Karl Wiberg <kwiberg@chromium.org> Date: Sun Nov 05 21:35:00 2017 Build WebRTC without support for the iLBC audio codec It got enabled by this WebRTC commit [https://webrtc-review.googlesource.com/c/src/+/9401], and will go away again when bugs.webrtc.org/8396 is fixed, but we don't want to wait, so we explicitly ask WebRTC to build without iLBC support. I verified manually that with this change, the size of the `chrome` binary in my opt Linux build goes from 189060824 to 188985648 bytes---a drop of 73.4 kB, which is just the sort of effect I was expecting. BUG= chromium:781027 , webrtc:8396 Change-Id: I08301a1b4ea5994fb02ebaeffc6ae67ce3ec0d50 Reviewed-on: https://chromium-review.googlesource.com/753486 Reviewed-by: agrieve <agrieve@chromium.org> Commit-Queue: Karl Wiberg <kwiberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#514069} [modify] https://crrev.com/f3b599b9922b753585ed5bc6be9fe40dbea60ad0/.gn
,
Nov 6 2017
Re #8: Any chance you've got the failure message hanging around still? CL in #10 shaved 28 kb off of MonochromePublic.apk: https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgIDg15-2sQsM, thanks again for fixing.
,
Nov 6 2017
No, sorry, my Chromoting session died, leading to total loss of terminal scrollback buffer... |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by 42576172...@developer.gserviceaccount.com
, Nov 2 2017