New issue
Advanced search Search tips

Issue 763873 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jan 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

10.4%-15.6% regression in blink_perf.shadow_dom at 499995:500119

Project Member Reported by rmcilroy@chromium.org, Sep 11 2017

Issue description

See the link to graphs below.
 
Project Member

Comment 1 by 42576172...@developer.gserviceaccount.com, Sep 11 2017

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

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


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

chromium-rel-mac11
chromium-rel-mac11-air
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Sep 11 2017

Cc: adithyas@chromium.org
Owner: adithyas@chromium.org
Status: Assigned (was: Untriaged)

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

Hi adithyas@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 : Adithya Srinivasan
  Commit : a887b383bce68fc5b8709acadd08af43d74e0a56
  Date   : Wed Sep 06 20:16:58 2017
  Subject: Remove TreeScopeEventContextMap

Bisect Details
  Configuration: mac_air_perf_bisect
  Benchmark    : blink_perf.shadow_dom
  Metric       : v1-large-deep-distribution/v1-large-deep-distribution
  Change       : 18.17% | 39.572 -> 46.7635

Revision             Result                   N
chromium@499994      39.572 +- 1.25362        6      good
chromium@500052      39.5647 +- 1.72464       6      good
chromium@500060      41.4108 +- 2.99322       6      good
chromium@500061      44.2363 +- 0.767588      6      bad       <--
chromium@500062      45.2672 +- 0.688566      6      bad
chromium@500064      45.3702 +- 2.83514       6      bad
chromium@500067      45.6302 +- 1.8962        6      bad
chromium@500081      45.9297 +- 1.15664       6      bad
chromium@500110      46.7635 +- 2.47566       6      bad

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

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

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


For feedback, file a bug with component Speed>Bisection
Cc: jbroman@chromium.org
Labels: OS-Fuchsia
jbroman@: Removing TreeScopeEventMap seems to have regressed a few tests in the blink_perf.shadow_dom benchmark. Unsurprisingly, these tests have a large number of shadow roots created. I don't think its common for web pages to have a large number of shadow roots, so I think the regression here isn't super critical. WDYT, should I revert this change?
Labels: -OS-Fuchsia
Removing Fuchsia label
Looking at the group report for the CL is interesting:
https://chromeperf.appspot.com/group_report?rev=500061

The blink_perf.events bundle shows a 10-20% progression on event dispatching, even in rather deeply nested shadow roots.

Do you know why your CL would affect distribution? I wouldn't have expected EventPath to be involved in that (and it was the only file you modified), so I'm also slightly skeptical of the regression unless we can find a link.
Also weird that this regression is apparently Mac-specific. Might be worth kicking off another bisect run, if nothing else. (chromeperf is 403-ing me when I try, not sure why.)
#6: dispatchEvent uses EventDispatcher which initializes an EventPath when created, so this is not entirely unexpected. The RCS graphs for EventTarget::DispatchEvent also show a sustained improvement: https://chromeperf.appspot.com/report?sid=b45de3bed0dc7cce0f2699618fa844e0c594a6fc2594d030841bf2d9f79aaf64


 
#8: When #6 said "would affect distribution", I meant shadow DOM distribution, as in what v1-large-deep-distribution tests. I don't see why EventPath would be hot in that test.

I do understand that making dispatching faster is the point of the original CL. ;)
#9: Oops sorry, I misread that.

It looks like EventPath::Initialize is very hot in the test actually (about 50% in RuntimeCallStats), MutationObserver dispatches slot change events which creates event paths.
adithyas, jbroman: should this bug be investigated further?
Status: WontFix (was: Assigned)
Marking as WontFix, the optimization that caused this regression shows an improvement in some benchmarks that more closely reflect real world websites.

Sign in to add a comment