New issue
Advanced search Search tips

Issue 822289 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

0.1% regression in sizes at 543347:543347

Project Member Reported by majidvp@google.com, Mar 15 2018

Issue description

Around 200K regression in mac binary size.
 
Project Member

Comment 1 by 42576172...@developer.gserviceaccount.com, Mar 15 2018

All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=822289

(For debugging:) Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?sid=82a4073fb28705650d9c9b024800b5d2b822ac58f89eff51e3c5dae610d3be45


Bot(s) for this bug's original alert(s):

mac
Project Member

Comment 2 by 42576172...@developer.gserviceaccount.com, Mar 15 2018

Owner: lizeb@chromium.org
Status: Assigned (was: Untriaged)
Assigning to lizeb@chromium.org because this is the only CL in range:
base/linux: Add a histogram for fork()ing time.

Bug: 819228
Change-Id: I5813d2c77c04d7dd00303a874ba6bd2a09acf946
Reviewed-on: https://chromium-review.googlesource.com/952967
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Benoit L <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543347}
Cc: tapted@chromium.org
cc'ing benchmark owner tapted@chromium.org, since I am not sure if this is a significant regression or not.

Comment 4 by lizeb@chromium.org, Mar 15 2018

Cc: -tapted@chromium.org
On Android (ARM) the whole function is 848 bytes after this commit:

$ arm-linux-gnueabihf-objdump -Ct  out/Release/lib.unstripped/libchrome.so | grep LaunchProcess
[...]
00d7e428 l     F .text  00000350              .hidden base::LaunchProcess(std::__ndk1::vector<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::allocator<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > const&, base::LaunchOptions const&)

It's possible that the size increase comes from not being able to remove code from the final binary, though the commit above adds calls to tracing and UMA, which we have in a lot of places.

Comment 5 by tapted@chromium.org, Mar 16 2018

There isn't a corresponding jump in GoogleChromeFramework. libbase is statically linked in to multiple targets. I suspect that previously most of these targets (i.e. those that that are not GoogleChromeFramework) were able to prune anything to do with base/metrics.

But now any target that calls LaunchProcess will have a dependency on base/metrics, and the linker is unable to prune it.

Sign in to add a comment