New issue
Advanced search Search tips

Issue 914276 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Dec 21
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

many shadow_dom perf_tests are broken

Project Member Reported by fergal@chromium.org, Dec 12

Issue description

E.g. https://cs.chromium.org/chromium/src/third_party/blink/perf_tests/shadow_dom/v1-large-shallow-layout.html

It adds elements in setup: and removes them in done: but setup is run before every iteration and done is only run at the end. So the DOM gets larger and larger with each iteration and the benchmark gets slower and slower. The resulting timings are monotonically increasing and the last one is about 2x the first time.

I've also found other perf_tests outside of shadow_dom that have the same problem although I haven't yet found any where it actually impacts the timing.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 21

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

commit f4cdd0cfc1eeb657f7371420ebc53550aadda3b8
Author: Fergal Daly <fergal@chromium.org>
Date: Fri Dec 21 00:17:23 2018

Add teardown support to runner.js .

Currently there is "setup" which runs before every test and "done"
which runs after all tests are finished. This adds "teardown" to run
after every test as a inverse of "setup". It seems like many tests
thought "done" was already behaving this way.

Bug:  914276 
Change-Id: I9fdb83c5616d77f187624fea21cd7b07898765ed
Reviewed-on: https://chromium-review.googlesource.com/c/1381397
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618396}
[modify] https://crrev.com/f4cdd0cfc1eeb657f7371420ebc53550aadda3b8/third_party/blink/perf_tests/resources/runner.js
[add] https://crrev.com/f4cdd0cfc1eeb657f7371420ebc53550aadda3b8/third_party/blink/perf_tests/test_data/lifecycle-methods.html
[modify] https://crrev.com/f4cdd0cfc1eeb657f7371420ebc53550aadda3b8/tools/perf/benchmarks/blink_perf_unittest.py

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 21

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

commit 39f956c51fedacf037305fe269e6e146fbc054c8
Author: Fergal Daly <fergal@chromium.org>
Date: Fri Dec 21 04:39:30 2018

Use "teardown" instead of "done" for benchmarks that add DOM in "setup".

https://crrev.com/c/1381397 added "teardown" which executes after each
run, "done" only executes at after the final run.

Bug:  914276 
Change-Id: I7f6b0ab1ead1efc96b8503d2c8d1879a914efbca
Reviewed-on: https://chromium-review.googlesource.com/c/1381360
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618457}
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-distribution-disconnected-and-reconnected.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-large-deep-distribution.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-large-deep-layout.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-large-shallow-distribution.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-large-shallow-layout.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-mutate-deep-tree-then-re-layout.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-mutate-deep-tree-then-slot-assigned-nodes.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-mutate-deep-tree-then-slot-flatten.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-mutate-shallow-tree-then-re-layout.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-mutate-shallow-tree-then-slot-assigned-nodes.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-mutate-shallow-tree-then-slot-flatten.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-small-deep-distribution.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-small-deep-layout.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-small-shallow-distribution.html
[modify] https://crrev.com/39f956c51fedacf037305fe269e6e146fbc054c8/third_party/blink/perf_tests/shadow_dom/v1-small-shallow-layout.html

Status: Fixed (was: Untriaged)

Sign in to add a comment