Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(249)

Unified Diff: tools/perf/page_sets/tough_scheduling_cases.py

Issue 871913004: New page set added to include pathologically bad and janky sites. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ESPN moved out of tough_scheduling_cases Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/perf/page_sets/tough_scheduling_cases.py
diff --git a/tools/perf/page_sets/tough_scheduling_cases.py b/tools/perf/page_sets/tough_scheduling_cases.py
index 96574e031a7e36fada615f1fecee5dda9f453b6d..40c0c2b6ee71c09db2aba0e52f99137b18a569f1 100644
--- a/tools/perf/page_sets/tough_scheduling_cases.py
+++ b/tools/perf/page_sets/tough_scheduling_cases.py
@@ -22,106 +22,106 @@ class ToughSchedulingCasesPage(page_module.Page):
class Page1(ToughSchedulingCasesPage):
- """ Why: Simulate oversubscribed main thread """
+ """Why: Simulate oversubscribed main thread."""
def __init__(self, page_set):
super(Page1, self).__init__(
- url='file://tough_scheduling_cases/simple_text_page.html?main_busy',
- page_set=page_set)
+ url='file://tough_scheduling_cases/simple_text_page.html?main_busy',
+ page_set=page_set)
self.synthetic_delays = {'cc.BeginMainFrame': {'target_duration': 0.008}}
class Page2(ToughSchedulingCasesPage):
- """ Why: Simulate oversubscribed main thread """
+ """Why: Simulate oversubscribed main thread."""
def __init__(self, page_set):
super(Page2, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/simple_text_page.html?main_very_busy',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/simple_text_page.html?main_very_busy',
+ page_set=page_set)
self.synthetic_delays = {'cc.BeginMainFrame': {'target_duration': 0.024}}
class Page3(ToughSchedulingCasesPage):
- """ Why: Simulate a page with a a few graphics layers """
+ """Why: Simulate a page with a a few graphics layers."""
def __init__(self, page_set):
super(Page3, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/simple_text_page.html?medium_layers',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/simple_text_page.html?medium_layers',
+ page_set=page_set)
self.synthetic_delays = {
- 'cc.DrawAndSwap': {'target_duration': 0.004},
- 'gpu.PresentingFrame': {'target_duration': 0.004},
- 'cc.BeginMainFrame': {'target_duration': 0.004}
+ 'cc.DrawAndSwap': {'target_duration': 0.004},
+ 'gpu.PresentingFrame': {'target_duration': 0.004},
+ 'cc.BeginMainFrame': {'target_duration': 0.004}
}
class Page4(ToughSchedulingCasesPage):
- """ Why: Simulate a page with many graphics layers """
+ """Why: Simulate a page with many graphics layers."""
def __init__(self, page_set):
super(Page4, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/simple_text_page.html?many_layers',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/simple_text_page.html?many_layers',
+ page_set=page_set)
self.synthetic_delays = {
- 'cc.DrawAndSwap': {'target_duration': 0.012},
- 'gpu.PresentingFrame': {'target_duration': 0.012},
- 'cc.BeginMainFrame': {'target_duration': 0.012}
+ 'cc.DrawAndSwap': {'target_duration': 0.012},
+ 'gpu.PresentingFrame': {'target_duration': 0.012},
+ 'cc.BeginMainFrame': {'target_duration': 0.012}
}
class Page5(ToughSchedulingCasesPage):
- """ Why: Simulate a page with expensive recording and rasterization """
+ """Why: Simulate a page with expensive recording and rasterization."""
def __init__(self, page_set):
super(Page5, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/simple_text_page.html?medium_raster',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/simple_text_page.html?medium_raster',
+ page_set=page_set)
self.synthetic_delays = {
- 'cc.RasterRequiredForActivation': {'target_duration': 0.004},
- 'cc.BeginMainFrame': {'target_duration': 0.004},
- 'gpu.AsyncTexImage': {'target_duration': 0.004}
+ 'cc.RasterRequiredForActivation': {'target_duration': 0.004},
+ 'cc.BeginMainFrame': {'target_duration': 0.004},
+ 'gpu.AsyncTexImage': {'target_duration': 0.004}
}
class Page6(ToughSchedulingCasesPage):
- """ Why: Simulate a page with expensive recording and rasterization """
+ """Why: Simulate a page with expensive recording and rasterization."""
def __init__(self, page_set):
super(Page6, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/simple_text_page.html?heavy_raster',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/simple_text_page.html?heavy_raster',
+ page_set=page_set)
self.synthetic_delays = {
- 'cc.RasterRequiredForActivation': {'target_duration': 0.024},
- 'cc.BeginMainFrame': {'target_duration': 0.024},
- 'gpu.AsyncTexImage': {'target_duration': 0.024}
+ 'cc.RasterRequiredForActivation': {'target_duration': 0.024},
+ 'cc.BeginMainFrame': {'target_duration': 0.024},
+ 'gpu.AsyncTexImage': {'target_duration': 0.024}
}
class Page7(ToughSchedulingCasesPage):
- """ Why: Medium cost touch handler """
+ """Why: Medium cost touch handler."""
def __init__(self, page_set):
super(Page7, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/touch_handler_scrolling.html?medium_handler',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/touch_handler_scrolling.html?medium_handler',
+ page_set=page_set)
self.synthetic_delays = {'blink.HandleInputEvent':
{'target_duration': 0.008}}
@@ -129,13 +129,13 @@ class Page7(ToughSchedulingCasesPage):
class Page8(ToughSchedulingCasesPage):
- """ Why: Slow touch handler """
+ """Why: Slow touch handler."""
def __init__(self, page_set):
super(Page8, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/touch_handler_scrolling.html?slow_handler',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/touch_handler_scrolling.html?slow_handler',
+ page_set=page_set)
self.synthetic_delays = {'blink.HandleInputEvent':
{'target_duration': 0.024}}
@@ -143,13 +143,13 @@ class Page8(ToughSchedulingCasesPage):
class Page9(ToughSchedulingCasesPage):
- """ Why: Touch handler that often takes a long time """
+ """Why: Touch handler that often takes a long time."""
def __init__(self, page_set):
super(Page9, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/touch_handler_scrolling.html?janky_handler',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/touch_handler_scrolling.html?janky_handler',
+ page_set=page_set)
self.synthetic_delays = {'blink.HandleInputEvent':
{'target_duration': 0.024, 'mode': 'alternating'}
@@ -158,13 +158,13 @@ class Page9(ToughSchedulingCasesPage):
class Page10(ToughSchedulingCasesPage):
- """ Why: Touch handler that occasionally takes a long time """
+ """Why: Touch handler that occasionally takes a long time."""
def __init__(self, page_set):
super(Page10, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/touch_handler_scrolling.html?occasionally_janky_handler',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/touch_handler_scrolling.html?occasionally_janky_handler',
+ page_set=page_set)
self.synthetic_delays = {'blink.HandleInputEvent':
{'target_duration': 0.024, 'mode': 'oneshot'}}
@@ -172,15 +172,14 @@ class Page10(ToughSchedulingCasesPage):
class Page11(ToughSchedulingCasesPage):
- """ Why: Super expensive touch handler causes browser to scroll after a
- timeout.
- """
+ """Why: Super expensive touch handler causes browser to scroll after a
+ timeout."""
def __init__(self, page_set):
super(Page11, self).__init__(
- # pylint: disable=C0301
- url='file://tough_scheduling_cases/touch_handler_scrolling.html?super_slow_handler',
- page_set=page_set)
+ # pylint: disable=C0301
+ url='file://tough_scheduling_cases/touch_handler_scrolling.html?super_slow_handler',
+ page_set=page_set)
self.synthetic_delays = {'blink.HandleInputEvent':
{'target_duration': 0.2}}
@@ -188,69 +187,69 @@ class Page11(ToughSchedulingCasesPage):
class Page12(ToughSchedulingCasesPage):
- """ Why: Super expensive touch handler that only occupies a part of the page.
+ """Why: Super expensive touch handler that only occupies a part of the page.
"""
def __init__(self, page_set):
super(Page12, self).__init__(
- url='file://tough_scheduling_cases/div_touch_handler.html',
- page_set=page_set)
+ url='file://tough_scheduling_cases/div_touch_handler.html',
+ page_set=page_set)
self.synthetic_delays = {'blink.HandleInputEvent': {'target_duration': 0.2}}
class Page13(ToughSchedulingCasesPage):
- """ Why: Test a moderately heavy requestAnimationFrame handler """
+ """Why: Test a moderately heavy requestAnimationFrame handler."""
def __init__(self, page_set):
super(Page13, self).__init__(
- url='file://tough_scheduling_cases/raf.html?medium_handler',
- page_set=page_set)
+ url='file://tough_scheduling_cases/raf.html?medium_handler',
+ page_set=page_set)
self.synthetic_delays = {
- 'cc.RasterRequiredForActivation': {'target_duration': 0.004},
- 'cc.BeginMainFrame': {'target_duration': 0.004},
- 'gpu.AsyncTexImage': {'target_duration': 0.004}
+ 'cc.RasterRequiredForActivation': {'target_duration': 0.004},
+ 'cc.BeginMainFrame': {'target_duration': 0.004},
+ 'gpu.AsyncTexImage': {'target_duration': 0.004}
}
class Page14(ToughSchedulingCasesPage):
- """ Why: Test a moderately heavy requestAnimationFrame handler """
+ """Why: Test a moderately heavy requestAnimationFrame handler."""
def __init__(self, page_set):
super(Page14, self).__init__(
- url='file://tough_scheduling_cases/raf.html?heavy_handler',
- page_set=page_set)
+ url='file://tough_scheduling_cases/raf.html?heavy_handler',
+ page_set=page_set)
self.synthetic_delays = {
- 'cc.RasterRequiredForActivation': {'target_duration': 0.024},
- 'cc.BeginMainFrame': {'target_duration': 0.024},
- 'gpu.AsyncTexImage': {'target_duration': 0.024}
+ 'cc.RasterRequiredForActivation': {'target_duration': 0.024},
+ 'cc.BeginMainFrame': {'target_duration': 0.024},
+ 'gpu.AsyncTexImage': {'target_duration': 0.024}
}
class Page15(ToughSchedulingCasesPage):
- """ Why: Simulate a heavily GPU bound page """
+ """Why: Simulate a heavily GPU bound page."""
def __init__(self, page_set):
super(Page15, self).__init__(
- url='file://tough_scheduling_cases/raf.html?gpu_bound',
- page_set=page_set)
+ url='file://tough_scheduling_cases/raf.html?gpu_bound',
+ page_set=page_set)
self.synthetic_delays = {'gpu.PresentingFrame': {'target_duration': 0.1}}
class Page16(ToughSchedulingCasesPage):
- """ Why: Test a requestAnimationFrame handler with a heavy first frame """
+ """Why: Test a requestAnimationFrame handler with a heavy first frame."""
def __init__(self, page_set):
super(Page16, self).__init__(
- url='file://tough_scheduling_cases/raf.html?heavy_first_frame',
- page_set=page_set)
+ url='file://tough_scheduling_cases/raf.html?heavy_first_frame',
+ page_set=page_set)
self.synthetic_delays = {'cc.BeginMainFrame': {'target_duration': 0.15,
'mode': 'oneshot'}}
@@ -258,42 +257,42 @@ class Page16(ToughSchedulingCasesPage):
class Page17(ToughSchedulingCasesPage):
- """ Why: Medium stress test for the scheduler """
+ """Why: Medium stress test for the scheduler."""
def __init__(self, page_set):
super(Page17, self).__init__(
- url='file://tough_scheduling_cases/raf_touch_animation.html?medium',
- page_set=page_set)
+ url='file://tough_scheduling_cases/raf_touch_animation.html?medium',
+ page_set=page_set)
self.synthetic_delays = {
- 'cc.DrawAndSwap': {'target_duration': 0.004},
- 'cc.BeginMainFrame': {'target_duration': 0.004}
+ 'cc.DrawAndSwap': {'target_duration': 0.004},
+ 'cc.BeginMainFrame': {'target_duration': 0.004}
}
class Page18(ToughSchedulingCasesPage):
- """ Why: Heavy stress test for the scheduler """
+ """Why: Heavy stress test for the scheduler."""
def __init__(self, page_set):
super(Page18, self).__init__(
- url='file://tough_scheduling_cases/raf_touch_animation.html?heavy',
- page_set=page_set)
+ url='file://tough_scheduling_cases/raf_touch_animation.html?heavy',
+ page_set=page_set)
self.synthetic_delays = {
- 'cc.DrawAndSwap': {'target_duration': 0.012},
- 'cc.BeginMainFrame': {'target_duration': 0.012}
+ 'cc.DrawAndSwap': {'target_duration': 0.012},
+ 'cc.BeginMainFrame': {'target_duration': 0.012}
}
class Page19(ToughSchedulingCasesPage):
- """ Why: Both main and impl thread animating concurrently """
+ """Why: Both main and impl thread animating concurrently."""
def __init__(self, page_set):
super(Page19, self).__init__(
- url='file://tough_scheduling_cases/split_animation.html',
- page_set=page_set)
+ url='file://tough_scheduling_cases/split_animation.html',
+ page_set=page_set)
def RunPageInteractions(self, action_runner):
action_runner.Wait(3)
@@ -301,12 +300,12 @@ class Page19(ToughSchedulingCasesPage):
class Page20(ToughSchedulingCasesPage):
- """ Why: Simple JS touch dragging """
+ """Why: Simple JS touch dragging."""
def __init__(self, page_set):
super(Page20, self).__init__(
- url='file://tough_scheduling_cases/simple_touch_drag.html',
- page_set=page_set)
+ url='file://tough_scheduling_cases/simple_touch_drag.html',
+ page_set=page_set)
def RunPageInteractions(self, action_runner):
interaction = action_runner.BeginGestureInteraction(
@@ -322,18 +321,18 @@ class Page20(ToughSchedulingCasesPage):
class EmptyTouchHandlerPage(ToughSchedulingCasesPage):
- """ Why: Scrolling on a page with a touch handler that consumes no events but
- may be slow """
+ """Why: Scrolling on a page with a touch handler that consumes no events but
+ may be slow."""
def __init__(self, name, desktop, slow_handler, bounce, page_set):
super(EmptyTouchHandlerPage, self).__init__(
- url='file://tough_scheduling_cases/empty_touch_handler' +
+ url='file://tough_scheduling_cases/empty_touch_handler' +
('_desktop' if desktop else '') + '.html?' + name,
- page_set=page_set)
+ page_set=page_set)
if slow_handler:
self.synthetic_delays = {
- 'blink.HandleInputEvent': {'target_duration': 0.2}
+ 'blink.HandleInputEvent': {'target_duration': 0.2}
}
self.bounce = bounce
@@ -360,8 +359,8 @@ class SynchronizedScrollOffsetPage(ToughSchedulingCasesPage):
def __init__(self, page_set):
super(SynchronizedScrollOffsetPage, self).__init__(
- url='file://tough_scheduling_cases/sync_scroll_offset.html',
- page_set=page_set)
+ url='file://tough_scheduling_cases/sync_scroll_offset.html',
+ page_set=page_set)
def RunPageInteractions(self, action_runner):
interaction = action_runner.BeginGestureInteraction(
@@ -372,7 +371,7 @@ class SynchronizedScrollOffsetPage(ToughSchedulingCasesPage):
class ToughSchedulingCasesPageSet(page_set_module.PageSet):
- """ Tough scheduler latency test cases """
+ """Tough scheduler latency test cases."""
def __init__(self):
super(ToughSchedulingCasesPageSet, self).__init__(
@@ -382,8 +381,8 @@ class ToughSchedulingCasesPageSet(page_set_module.PageSet):
# Why: Simple scrolling baseline
self.AddUserStory(ToughSchedulingCasesPage(
- 'file://tough_scheduling_cases/simple_text_page.html',
- self))
+ 'file://tough_scheduling_cases/simple_text_page.html',
+ self))
self.AddUserStory(Page1(self))
self.AddUserStory(Page2(self))
self.AddUserStory(Page3(self))
@@ -394,8 +393,8 @@ class ToughSchedulingCasesPageSet(page_set_module.PageSet):
# self.AddUserStory(Page6(self))
# Why: Touch handler scrolling baseline
self.AddUserStory(ToughSchedulingCasesPage(
- 'file://tough_scheduling_cases/touch_handler_scrolling.html',
- self))
+ 'file://tough_scheduling_cases/touch_handler_scrolling.html',
+ self))
self.AddUserStory(Page7(self))
self.AddUserStory(Page8(self))
self.AddUserStory(Page9(self))
@@ -404,12 +403,12 @@ class ToughSchedulingCasesPageSet(page_set_module.PageSet):
self.AddUserStory(Page12(self))
# Why: requestAnimationFrame scrolling baseline
self.AddUserStory(ToughSchedulingCasesPage(
- 'file://tough_scheduling_cases/raf.html',
- self))
+ 'file://tough_scheduling_cases/raf.html',
+ self))
# Why: Test canvas blocking behavior
self.AddUserStory(ToughSchedulingCasesPage(
- 'file://tough_scheduling_cases/raf_canvas.html',
- self))
+ 'file://tough_scheduling_cases/raf_canvas.html',
+ self))
# Disabled until crbug.com/413829 is fixed.
# self.AddUserStory(Page13(self))
# Disabled because of crbug.com/413829 and flakiness crbug.com/368532
@@ -418,67 +417,64 @@ class ToughSchedulingCasesPageSet(page_set_module.PageSet):
self.AddUserStory(Page16(self))
# Why: Test a requestAnimationFrame handler with concurrent CSS animation
self.AddUserStory(ToughSchedulingCasesPage(
- 'file://tough_scheduling_cases/raf_animation.html',
- self))
+ 'file://tough_scheduling_cases/raf_animation.html',
+ self))
# Why: Stress test for the scheduler
self.AddUserStory(ToughSchedulingCasesPage(
- 'file://tough_scheduling_cases/raf_touch_animation.html',
- self))
+ 'file://tough_scheduling_cases/raf_touch_animation.html',
+ self))
self.AddUserStory(Page17(self))
self.AddUserStory(Page18(self))
self.AddUserStory(Page19(self))
self.AddUserStory(Page20(self))
# Why: Baseline for scrolling in the presence of a no-op touch handler
self.AddUserStory(EmptyTouchHandlerPage(
- name='baseline',
- desktop=False,
- slow_handler=False,
- bounce=False,
- page_set=self))
+ name='baseline',
+ desktop=False,
+ slow_handler=False,
+ bounce=False,
+ page_set=self))
# Why: Slow handler blocks scroll start
self.AddUserStory(EmptyTouchHandlerPage(
- name='slow_handler',
- desktop=False,
- slow_handler=True,
- bounce=False,
- page_set=self))
- # Why: Slow handler blocks scroll start until touch ACK timeout
+ name='slow_handler',
+ desktop=False,
+ slow_handler=True,
+ bounce=False,
+ page_set=self))
+ # Why: Slow handler blocks scroll start until touch ACK timeout
self.AddUserStory(EmptyTouchHandlerPage(
- name='desktop_slow_handler',
- desktop=True,
- slow_handler=True,
- bounce=False,
- page_set=self))
+ name='desktop_slow_handler',
+ desktop=True,
+ slow_handler=True,
+ bounce=False,
+ page_set=self))
# Why: Scroll bounce showing repeated transitions between scrolling and
# sending synchronous touchmove events. Should be nearly as fast as
# scroll baseline.
self.AddUserStory(EmptyTouchHandlerPage(
- name='bounce',
- desktop=False,
- slow_handler=False,
- bounce=True,
- page_set=self))
+ name='bounce',
+ desktop=False,
+ slow_handler=False,
+ bounce=True,
+ page_set=self))
# Why: Scroll bounce with slow handler, repeated blocking.
self.AddUserStory(EmptyTouchHandlerPage(
- name='bounce_slow_handler',
- desktop=False,
- slow_handler=True,
- bounce=True,
- page_set=self))
- # Why: Scroll bounce with slow handler on desktop, blocks only once until
+ name='bounce_slow_handler',
+ desktop=False,
+ slow_handler=True,
+ bounce=True,
+ page_set=self))
+ # Why: Scroll bounce with slow handler on desktop, blocks only once until
# ACK timeout.
self.AddUserStory(EmptyTouchHandlerPage(
- name='bounce_desktop_slow_handler',
- desktop=True,
- slow_handler=True,
- bounce=True,
- page_set=self))
- # Why: For measuring the latency of scroll-synchronized effects.
+ name='bounce_desktop_slow_handler',
+ desktop=True,
+ slow_handler=True,
+ bounce=True,
+ page_set=self))
+ # Why: For measuring the latency of scroll-synchronized effects.
self.AddUserStory(SynchronizedScrollOffsetPage(page_set=self))
# Why: Good examples of poor initial scrolling
self.AddUserStory(ToughSchedulingCasesPage(
- 'http://www.latimes.com',
- self))
- self.AddUserStory(ToughSchedulingCasesPage(
- 'http://m.espn.go.com/nhl/rankings',
- self))
+ 'http://www.latimes.com',
Sami 2015/01/27 15:30:37 Could you move latimes to the new page set too? It
picksi 2015/02/10 18:10:46 Done.
+ self))

Powered by Google App Engine
This is Rietveld 408576698