New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738203 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jun 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug-Regression



Sign in to add a comment

20.5KB regression in resource_sizes (MonochromePublic.apk) at 482865:482865

Project Member Reported by zpeng@chromium.org, Jun 29 2017

Issue description

Caused by “[heap] Further devirtualizing for instance-based visitor”

Commit: bb786d61b4b784101842aa7d6c921eb364ca59a9

Link to size graph: https://chromeperf.appspot.com/report?sid=a097e74b1aa288511afb4cb616efe0f95ba4d347ad61d5e835072f23450938ba&num_points=10&rev=482865

Debugging size regressions is documented at: https://chromium.googlesource.com/chromium/src/+/master/docs/speed/apk_size_regressions.md#Debugging-Apk-Size-Increase

This commit introduced 20.5KB of native code size increase.
 

Comment 1 by zpeng@chromium.org, Jun 29 2017

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

Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgIDg7vDr_AkM


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

Android Builder

Comment 3 by zpeng@chromium.org, Jun 29 2017

Labels: -Pri-2 ReleaseBlock-Stable Pri-1
Please try to reduce the size here. Attached is the analysis from tools/binary_size/diagnose_bloat.py. Adding ReleaseBlock-Stable
diff_results.txt
25.7 KB View Download
Project Member

Comment 4 by 42576172...@developer.gserviceaccount.com, Jun 29 2017


=== BISECT JOB RESULTS ===
NO Perf regression found, tests failed to produce values

Bisect Details
  Configuration: android_nexus7_perf_bisect
  Benchmark    : resource_sizes
  Metric       : MonochromePublic.apk_Specifics/normalized apk size


To Run This Test
  src/build/android/resource_sizes.py --chromium-output-directory {CHROMIUM_OUTPUT_DIR} --chartjson {CHROMIUM_OUTPUT_DIR}/apks/MonochromePublic.apk

More information on addressing performance regressions:
  http://g.co/ChromePerformanceRegressions

Debug information about this bisect:
  https://chromeperf.appspot.com/buildbucket_job_status/8975414192887794336


For feedback, file a bug with component Speed>Bisection
Project Member

Comment 6 by 42576172...@developer.gserviceaccount.com, Jun 30 2017


=== BISECT JOB RESULTS ===
NO Perf regression found, tests failed to produce values

Bisect Details
  Configuration: android_nexus7_perf_bisect
  Benchmark    : resource_sizes
  Metric       : MonochromePublic.apk_Specifics/normalized apk size


To Run This Test
  src/build/android/resource_sizes.py --chromium-output-directory {CHROMIUM_OUTPUT_DIR} --chartjson {CHROMIUM_OUTPUT_DIR}/apks/MonochromePublic.apk

More information on addressing performance regressions:
  http://g.co/ChromePerformanceRegressions

Debug information about this bisect:
  https://chromeperf.appspot.com/buildbucket_job_status/8975411157871934896


For feedback, file a bug with component Speed>Bisection
Cc: u...@chromium.org
How is this P1 and RB-stable? Can you share the thought process here?

This is the core visitor of the V8 garbage collector used in hot paths across several components, all of which require the best possible performance we can get. We often even manually inspect generated code to make sure that we get the best instruction sequence here.

We moved to a new visitor design to allow better inlining as this path is executed basically as soon as JavaScript is executed and I am quite happy to see that this works out the way it currently does.

Comment 8 by zpeng@chromium.org, Jun 30 2017

RB-stable is added as part of filing a bug for binary size alerts. The bug is also marked as P1 because M61 is a milestone that carries extra importance for Android builds, and any reduction in binary size would be appreciated.

If you believe the size increase is justified and cannot be mitigated without negatively impacting performance, please close the bug as "Won't Fix" (and remove the labels).

Thanks!
Status: WontFix (was: Assigned)
Sounds to me like the size increase is more than justified. Thanks for the explanation mlippautz!
Thanks a lot for keeping an eye on those issues! Increases in code size are often unintended.

In this case we are actively working on the core visitation (there are a few CLs) logic and we happily take a slight increase for best performance here.

Sign in to add a comment