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

Issue 692939 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

16.1% regression in blink_perf.bindings at 450362:450402

Project Member Reported by alexclarke@chromium.org, Feb 16 2017

Issue description

See the link to graphs below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=692939

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


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

android-webview-nexus6
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Feb 17 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_webview_nexus6_aosp_perf_bisect
  Benchmark    : blink_perf.bindings
  Metric       : node-type/node-type
  Change       : 16.60% | 249.245199017 -> 207.880175985

Suspected Commit Range
  6 commits in range
  Mismatching LKGR/FKBR depots, unable to provide handy url.
  good_revision: chromium@980055357a756285706684b55181827f8614e709
  bad_revision : v8@a09157033b872215fbd534f8e31f704eb777c228


Revision                           Result                  N
chromium@450361                    249.245 +- 1.26633      6        good
chromium@450362                    248.815 +- 1.83323      6        good
chromium@450362,v8@033d3b577b      ---                     ---      build failure
chromium@450362,v8@deabb19abc      ---                     ---      build failure
chromium@450362,v8@db558210d8      ---                     ---      build failure
chromium@450362,v8@0b287bd4ea      ---                     ---      build failure
chromium@450362,v8@be1a5f7551      ---                     ---      build failure
chromium@450362,v8@a09157033b      198.632 +- 1.75157      6        bad
chromium@450363                    209.747 +- 1.0854       6        bad
chromium@450364                    209.562 +- 1.38068      5        bad
chromium@450367                    211.605 +- 10.8089      6        bad
chromium@450372                    212.289 +- 12.4229      6        bad
chromium@450382                    208.787 +- 3.23207      6        bad
chromium@450402                    207.88 +- 1.19564       6        bad

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

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

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


| 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!
Project Member

Comment 5 by 42576172...@developer.gserviceaccount.com, Feb 18 2017

Cc: yosin@chromium.org
Owner: yosin@chromium.org

=== Auto-CCing suspected CL author yosin@chromium.org ===

Hi yosin@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : yosin
  Commit : d892f9592860691ae9a782c12260c94ed6bd1a63
  Date   : Tue Feb 14 15:56:00 2017
  Subject: Make FrameSelection to hold non-canonicalized DOM positions

Bisect Details
  Configuration: winx64nvidia_perf_bisect
  Benchmark    : blink_perf.bindings
  Metric       : append-child/append-child
  Change       : 18.13% | 66.6447455021 -> 54.5635581229

Revision             Result                   N
chromium@450368      66.6447 +- 1.43719       6      good
chromium@450369      66.6849 +- 2.20498       6      good
chromium@450370      54.0872 +- 0.999901      6      bad       <--
chromium@450372      54.5636 +- 1.12414       6      bad

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

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

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


| 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!

Comment 6 by yosin@chromium.org, Feb 18 2017

Components: Blink>Editing>Selection
Status: Started (was: Untriaged)
Similar to  issue 693458 , eletionEditor::markCacheDirty occupies 5.26% of  ContainerNode::appendChild.

Comment 7 by yosin@chromium.org, Feb 20 2017

In review: http://crrev.com/2708533002
Project Member

Comment 8 by bugdroid1@chromium.org, Feb 20 2017

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

commit 54210329887cfd683e71722b93a5e05b95f5e12d
Author: yosin <yosin@chromium.org>
Date: Mon Feb 20 05:53:45 2017

Make SelectionEditor::markCacheDirty() not to reset cached value if it has been cleared

This patch makes |SelectionEditor::markCacheDirty()| not to reset cached
|VisibleSeleciton| and |VisibleSelectionInFlatTree| when we've already cleard,
calling default constructor of |VisibleSelection| and
|VisibleSelectionInFlatTree| and copying them, to make |markCacheDirty()|
faster.

In "PerformanceTests/Bindings/append-child.html", |markCacheDirty()| takes
5.26% of |ContainerNode::appendChild()|.

In "PerformanceTests/DOM/inner_html_with_selection.html", |markCacheDirty()|
takes 8.56% of |ContainerNode::appendChild()|.

BUG= 692939 , 693458 
TEST=n/a; no behavior changes

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

[modify] https://crrev.com/54210329887cfd683e71722b93a5e05b95f5e12d/third_party/WebKit/Source/core/editing/SelectionEditor.cpp

Comment 9 by yosin@chromium.org, Mar 2 2017

Status: WontFix (was: Started)
Mark WontFix since graph is recovered.

Sign in to add a comment