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

Issue 669188 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression

Blocked on:
issue 664765

Blocking:
issue 468240



Sign in to add a comment

10.7% regression in blink_perf.bindings at 433822:433838

Project Member Reported by benhenry@chromium.org, Nov 28 2016

Issue description

Graphs included below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=669188

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


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

android-nexus9
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Nov 29 2016


===== BISECT JOB RESULTS =====
Status: failed


===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N     Good?
chromium@433821  45.9199  135.956  1250  good
chromium@433823  51.6669  391.572  1250  bad
chromium@433824  49.3557  298.784  1250  bad
chromium@433826  48.8466  306.798  1250  bad
chromium@433830  49.2333  308.236  1250  bad
chromium@433838  48.8469  311.431  1250  bad

Bisect job ran on: android_nexus9_perf_bisect
Bug ID: 669188

Test Command: src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests blink_perf.bindings
Test Metric: structured-clone-long-string-serialize/structured-clone-long-string-serialize
Relative Change: 6.37%

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/android_nexus9_perf_bisect/builds/2287
Job details: https://chromeperf.appspot.com/buildbucket_job_status/8994715796278017184


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5783512488083456

| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Tests>AutoBisect.  Thank you!

Comment 4 by benhenry@google.com, Nov 30 2016

Cc: tkent@chromium.org
Owner: mlippautz@chromium.org
Status: Assigned (was: Untriaged)
This is either:
- https://chromium.googlesource.com/chromium/src/+/3ae9c46897ad5b00cfa684f1d5120c5b6a676808
- https://chromium.googlesource.com/chromium/src/+/e23de6962be8b4967127ae95040f32bbb533b4d1

Could you take a look?

Comment 5 by tkent@chromium.org, Nov 30 2016

Cc: -tkent@chromium.org
My CL doesn't affect compiled code.

Range indicates that it's related to wrapper tracing. Will do some more profiling once it's enabled again.
Blocking: 468240
Components: Blink>JavaScript>GC Blink>Bindings
Cc: simonhatch@chromium.org
Blockedon: 664765
Project Member

Comment 10 by bugdroid1@chromium.org, Dec 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4f161eac0b1f1b76ef9cd36de5a6dce3c9002a71

commit 4f161eac0b1f1b76ef9cd36de5a6dce3c9002a71
Author: mlippautz <mlippautz@chromium.org>
Date: Wed Dec 21 12:29:54 2016

[wrapper-tracing] Reduce marking overhead: Tri-color marking without 3 colors

This CL implements marking very similar to tri-color marking, with the
difference to standard GC literature being that the grey state is being made
explicit. The colors are logically represented by the tuple (color,
in_marking_deque):
- white: (0, false)
- grey: (1, true)
- black: (1, false)

This works because there is currently no need to query whether an object is grey
as we don't need a path to recover from e.g. a marking deque overflow.

Performance for known regressions:
- blink.perf_bindings structured-clone-long-string-serialize: -17% instead of
  +17%
- speedometer: Reducing marking deque pushes from 3.3M to 1.7M. This is means
  that ~50% of all marking deque pushes were duplicates.

BUG= chromium:468240 ,  chromium:667811 ,  chromium:669188 

Review-Url: https://codereview.chromium.org/2585433003
Cr-Commit-Position: refs/heads/master@{#440074}

[modify] https://crrev.com/4f161eac0b1f1b76ef9cd36de5a6dce3c9002a71/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitor.h
[modify] https://crrev.com/4f161eac0b1f1b76ef9cd36de5a6dce3c9002a71/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitorTest.cpp
[modify] https://crrev.com/4f161eac0b1f1b76ef9cd36de5a6dce3c9002a71/third_party/WebKit/Source/platform/heap/GarbageCollected.h
[modify] https://crrev.com/4f161eac0b1f1b76ef9cd36de5a6dce3c9002a71/third_party/WebKit/Source/platform/heap/TraceTraits.h
[modify] https://crrev.com/4f161eac0b1f1b76ef9cd36de5a6dce3c9002a71/third_party/WebKit/Source/platform/heap/WrapperVisitor.h

Status: Fixed (was: Assigned)
The numbers significantly improved with landing the flag and the subsequent smaller fixes. 
Project Member

Comment 13 by 42576172...@developer.gserviceaccount.com, Apr 11 2017


=== BISECT JOB RESULTS ===
Perf regression found but unable to narrow commit range

Build failures prevented the bisect from narrowing the range further.


Bisect Details
  Configuration: android_nexus9_perf_bisect
  Benchmark    : blink_perf.bindings
  Metric       : structured-clone-long-string-serialize/structured-clone-long-string-serialize

Suspected Commit Range
  1 commits in range
  https://chromium.googlesource.com/chromium/src/+log/34145bb8726255a7da92275c2bb7bc40dda1ec14..e23de6962be8b4967127ae95040f32bbb533b4d1


Revision             Result                  N
chromium@433821      45.9199 +- 135.956      1250      good
chromium@433823      51.6669 +- 391.572      1250      bad
chromium@433824      49.3557 +- 298.784      1250      bad
chromium@433826      48.8466 +- 306.798      1250      bad
chromium@433830      49.2333 +- 308.236      1250      bad
chromium@433838      48.8469 +- 311.431      1250      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests blink_perf.bindings

Debug Info
  https://chromeperf.appspot.com/buildbucket_job_status/8982592414732748880

Is this bisect wrong?
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5783512488083456


| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Speed>Bisection.  Thank you!

Sign in to add a comment