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

Issue 633126 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Oct 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

15.5% regression in dromaeo.domcorequery at 408805:408835

Project Member Reported by alexclarke@chromium.org, Aug 1 2016

Issue description

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

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


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

chromium-rel-win7-x64-dual

===== BISECT JOB RESULTS =====
Status: completed


=== Bisection aborted ===
The bisect was aborted because The metric values for the initial "good" and "bad" revisions do not represent a clear regression.
Please contact the the team (see below) if you believe this is in error.

=== Warnings ===
The following warnings were raised by the bisect job:

 * Bisect failed to reproduce the regression with enough confidence.

===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N   Good?
chromium@408804  24984.5  354.461  18  good
chromium@408835  24925.5  467.991  18  bad

Bisect job ran on: win_x64_perf_bisect
Bug ID: 633126

Test Command: src/tools/perf/run_benchmark -v --browser=release_x64 --output-format=chartjson --upload-results --also-run-disabled-tests dromaeo.domcorequery
Test Metric: dom/dom
Relative Change: 0.16%
Score: 0

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/win_x64_perf_bisect/builds/1372
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9005542036700529888


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

| 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!
Trying again with a wider bisect with more iterations.
Bisect failed: Unknown
Failure reason: the build has failed.
Additional errors:
The revision range could not be expanded, or the commit positions could not be resolved into commit hashes.

Cc: fsam...@chromium.org
Owner: fsam...@chromium.org

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

Hi fsamuel@chromium.org, the bisect results pointed to your CL below as possibly
causing a regression. Please have a look at this info and see whether
your CL be related.


===== BISECT JOB RESULTS =====
Status: completed


===== SUSPECTED CL(s) =====
Subject : cc mojo: Use ArrayDataViews in RenderPasses
Author  : fsamuel
Commit description:
  
This CL makes use of the newly introduced Array DataViews
in cc StructTraits in order to improve serialization (and
to a lesser degree deserialization) performance.

This CL improves serialization performance by an average of
18% on an HP Z620. Deserialization performance improves
between 7 to 10%.

Prior to the ability to inspect Array and Struct DataViews
in parent StructTraits, we had to do extra work at
serialization time in order to capture state that spans
individual structs within a larger struct.

This CL addresses two of those cases:

1. Previously, QuadList maintained an extra array of
materials. This array existed so that we could preallocate
the appropriately typed DrawQuads during deserialization.
StructTraits assume a preallocated type and populated
fields in that type.

Alternatively we could have deserialized DrawQuads into
unique_ptrs, but cc required that we allocate DrawQuads
inline within a buffer in order to minimize the cost of
allocations (there can be hundreds of DrawQuads in a
CompositorFrame).

2. Previously, SharedQuadStates were serialized
independently of DrawQuads. However, in in-memory form,
DrawQuads refer to SharedQuadStates via raw pointers. In
order to allow DrawQuads and SharedQuadStates to deserialize
independently, as was required previously by StructTraits, a third
array was serialized "shared_quad_state_references" which was equal in
size to the QuadList. Each slot corresponded to an index in
the SharedQuadStateList. After the QuadList and SharedQuadStateList were
serialized,  shared_quad_state_references updated the raw
pointers in the DrawQuads in the quad list to refer to the
SharedQuadStates. This required revisiting all deserialized
DrawQuads again.

In both 1. and 2. additional state needed to be allocated on the heap
during serialization. In pprof profiling, it became apparent that much
of the cost of serialization was in SetupContext. This CL eliminates
that cost.

Performance measures are available here:
https://docs.google.com/a/google.com/spreadsheets/d/13Y0I-BVDrQC4RHIzMSs0vl0QPe8xFAhYMUAXaxoEqgg/pubhtml

BUG= 624459 
TBR=danakj@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2174843003
Cr-Commit-Position: refs/heads/master@{#408809}
Commit  : edd40fdc29170e97ab54578fdc5096fc564c0ccb
Date    : Sat Jul 30 00:00:14 2016


===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N  Good?
chromium@408804  24975.8  136.664  8  good
chromium@408808  24890.4  346.311  8  good
chromium@408809  24173.8  473.727  5  bad    <--
chromium@408810  23876.4  437.314  5  bad
chromium@408812  24534.5  437.366  8  bad
chromium@408820  24480.5  395.405  5  bad
chromium@408835  24268.2  304.354  5  bad

Bisect job ran on: win_x64_perf_bisect
Bug ID: 633126

Test Command: src/tools/perf/run_benchmark -v --browser=release_x64 --output-format=chartjson --upload-results --also-run-disabled-tests dromaeo.domcorequery
Test Metric: dom/dom
Relative Change: 3.17%
Score: 99.5

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/win_x64_perf_bisect/builds/1379
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9005430076096055632


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

| 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!
Perf sheriff ping: reminder to follow up on possible performance issues
Owner: benhenry@chromium.org
Passing to Ben Henry for triage. I don't think my patch would affect this test.

===== BISECT JOB RESULTS =====
Status: completed


=== Bisection aborted ===
The bisect was aborted because The metric values for the initial "good" and "bad" revisions do not represent a clear regression.
Please contact the the team (see below) if you believe this is in error.

=== Warnings ===
The following warnings were raised by the bisect job:

 * Bisect failed to reproduce the regression with enough confidence.

===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N   Good?
chromium@408804  25209.8  115.011  18  good
chromium@408835  25004.2  419.284  18  bad

Bisect job ran on: win_x64_perf_bisect
Bug ID: 633126

Test Command: src/tools/perf/run_benchmark -v --browser=release_x64 --output-format=chartjson --upload-results --also-run-disabled-tests dromaeo.domcorequery
Test Metric: dom/dom
Relative Change: 0.64%
Score: 0

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/win_x64_perf_bisect/builds/1496
Job details: https://chromeperf.appspot.com/buildbucket_job_status/8999610761013987168


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

| 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!
Status: WontFix (was: Assigned)
The performance regression that this alert is about seems to have resolved itself after a few minutes. Won't fix as bisect isn't catching this and it looks like it probably resolved itself after some time.

===== BISECT JOB RESULTS =====
Status: completed


=== Bisection aborted ===
The bisect was aborted because The metric values for the initial "good" and "bad" revisions do not represent a clear regression.
Please contact the the team (see below) if you believe this is in error.

=== Warnings ===
The following warnings were raised by the bisect job:

 * Bisect failed to reproduce the regression with enough confidence.

===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N   Good?
chromium@408804  22969.7  1337.37  18  good
chromium@408835  22826.4  1241.11  18  bad

Bisect job ran on: win_x64_perf_bisect
Bug ID: 633126

Test Command: src/tools/perf/run_benchmark -v --browser=release_x64 --output-format=chartjson --upload-results --also-run-disabled-tests dromaeo.domcorequery
Test Metric: dom/dom
Relative Change: 2.43%
Score: 0

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/win_x64_perf_bisect/builds/1498
Job details: https://chromeperf.appspot.com/buildbucket_job_status/8999601149953605920


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

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

Sign in to add a comment