| Index: tools/perf/benchmarks/v8.py
|
| diff --git a/tools/perf/benchmarks/v8.py b/tools/perf/benchmarks/v8.py
|
| index fcd997cbcaba6ad44f4a9d7b32801e12d4230a8f..d5e857cb51bd9203999905eb1903c94cceb55d8b 100644
|
| --- a/tools/perf/benchmarks/v8.py
|
| +++ b/tools/perf/benchmarks/v8.py
|
| @@ -8,6 +8,8 @@ from core import path_util
|
| from core import perf_benchmark
|
| from page_sets import google_pages
|
|
|
| +from benchmarks import v8_helper
|
| +
|
| from measurements import v8_detached_context_age_in_gc
|
| from measurements import v8_gc_times
|
| import page_sets
|
| @@ -21,16 +23,13 @@ from telemetry.web_perf.metrics import smoothness
|
| from telemetry.web_perf.metrics import memory_timeline
|
|
|
|
|
| -def EnableIgnition(options):
|
| - existing_js_flags = []
|
| - for extra_arg in options.extra_browser_args:
|
| - if extra_arg.startswith('--js-flags='):
|
| - existing_js_flags.extend(shlex.split(extra_arg[len('--js-flags='):]))
|
| - options.AppendExtraBrowserArgs([
|
| - # This overrides any existing --js-flags, hence we have to include the
|
| - # previous flags as well.
|
| - '--js-flags=--ignition %s' % (' '.join(existing_js_flags))
|
| - ])
|
| +def CreateV8TimelineBasedMeasurementOptions():
|
| + category_filter = tracing_category_filter.CreateMinimalOverheadFilter()
|
| + category_filter.AddIncludedCategory('v8')
|
| + category_filter.AddIncludedCategory('blink.console')
|
| + options = timeline_based_measurement.Options(category_filter)
|
| + options.SetTimelineBasedMetric('executionMetric')
|
| + return options
|
|
|
|
|
| @benchmark.Disabled('win') # crbug.com/416502
|
| @@ -143,12 +142,7 @@ class V8TodoMVC(perf_benchmark.PerfBenchmark):
|
| page_set = page_sets.TodoMVCPageSet
|
|
|
| def CreateTimelineBasedMeasurementOptions(self):
|
| - category_filter = tracing_category_filter.CreateMinimalOverheadFilter()
|
| - category_filter.AddIncludedCategory('v8')
|
| - category_filter.AddIncludedCategory('blink.console')
|
| - options = timeline_based_measurement.Options(category_filter)
|
| - options.SetTimelineBasedMetric('executionMetric')
|
| - return options
|
| + return CreateV8TimelineBasedMeasurementOptions()
|
|
|
| @classmethod
|
| def Name(cls):
|
| @@ -159,60 +153,49 @@ class V8TodoMVC(perf_benchmark.PerfBenchmark):
|
| return True
|
|
|
|
|
| -@benchmark.Disabled('reference') # https://crbug.com/598096
|
| -class V8TodoMVCIgnition(perf_benchmark.PerfBenchmark):
|
| +# Disabled on reference builds because they don't support the new
|
| +# Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022.
|
| +@benchmark.Disabled('reference')
|
| +class V8TodoMVCIgnition(V8TodoMVC):
|
| """Measures V8 Execution metrics on the TodoMVC examples using ignition."""
|
| page_set = page_sets.TodoMVCPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| - EnableIgnition(options)
|
| -
|
| - def CreateTimelineBasedMeasurementOptions(self):
|
| - category_filter = tracing_category_filter.CreateMinimalOverheadFilter()
|
| - category_filter.AddIncludedCategory('v8')
|
| - category_filter.AddIncludedCategory('blink.console')
|
| - options = timeline_based_measurement.Options(category_filter)
|
| - options.SetTimelineBasedMetric('executionMetric')
|
| - return options
|
| + super(V8TodoMVCIgnition, self).SetExtraBrowserOptions(options)
|
| + v8_helper.EnableIgnition(options)
|
|
|
| @classmethod
|
| def Name(cls):
|
| return 'v8.todomvc-ignition'
|
|
|
| - @classmethod
|
| - def ShouldTearDownStateAfterEachStoryRun(cls):
|
| - return True
|
| -
|
|
|
| # Disabled on reference builds because they don't support the new
|
| # Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022.
|
| -@benchmark.Disabled('reference') # crbug.com/579546
|
| -class V8InfiniteScrollIgnition(_InfiniteScrollBenchmark):
|
| - """Measures V8 GC metrics using Ignition."""
|
| +@benchmark.Disabled('reference')
|
| +class V8InfiniteScroll(_InfiniteScrollBenchmark):
|
| + """Measures V8 GC metrics and memory usage while scrolling the top web pages.
|
| + http://www.chromium.org/developers/design-documents/rendering-benchmarks"""
|
|
|
| page_set = page_sets.InfiniteScrollPageSet
|
|
|
| - def SetExtraBrowserOptions(self, options):
|
| - _InfiniteScrollBenchmark.SetExtraBrowserOptions(self,options)
|
| - EnableIgnition(options)
|
| -
|
| @classmethod
|
| def Name(cls):
|
| - return 'v8.infinite_scroll-ignition'
|
| + return 'v8.infinite_scroll'
|
|
|
|
|
| # Disabled on reference builds because they don't support the new
|
| # Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022.
|
| -@benchmark.Disabled('reference')
|
| -class V8InfiniteScroll(_InfiniteScrollBenchmark):
|
| - """Measures V8 GC metrics and memory usage while scrolling the top web pages.
|
| - http://www.chromium.org/developers/design-documents/rendering-benchmarks"""
|
| +@benchmark.Disabled('reference') # crbug.com/579546
|
| +class V8InfiniteScrollIgnition(V8InfiniteScroll):
|
| + """Measures V8 GC metrics using Ignition."""
|
|
|
| - page_set = page_sets.InfiniteScrollPageSet
|
| + def SetExtraBrowserOptions(self, options):
|
| + super(V8InfiniteScrollIgnition, self).SetExtraBrowserOptions(options)
|
| + v8_helper.EnableIgnition(options)
|
|
|
| @classmethod
|
| def Name(cls):
|
| - return 'v8.infinite_scroll'
|
| + return 'v8.infinite_scroll-ignition'
|
|
|
|
|
| @benchmark.Enabled('android')
|
| @@ -237,13 +220,7 @@ class V8Adword(perf_benchmark.PerfBenchmark):
|
| """Measures V8 Execution metrics on the Adword page."""
|
|
|
| def CreateTimelineBasedMeasurementOptions(self):
|
| -
|
| - category_filter = tracing_category_filter.CreateMinimalOverheadFilter()
|
| - category_filter.AddIncludedCategory('v8')
|
| - category_filter.AddIncludedCategory('blink.console')
|
| - options = timeline_based_measurement.Options(category_filter)
|
| - options.SetTimelineBasedMetric('executionMetric')
|
| - return options
|
| + return CreateV8TimelineBasedMeasurementOptions()
|
|
|
| def CreateStorySet(self, options):
|
| """Creates the instance of StorySet used to run the benchmark.
|
|
|