Chromium Code Reviews| Index: tools/perf/benchmarks/v8.py |
| diff --git a/tools/perf/benchmarks/v8.py b/tools/perf/benchmarks/v8.py |
| index 21469a2864ba379161f0b767f2ec2f6b7ea97fe0..a4cfc40e3b42207d9207fd0fe98f609b9ec8e72d 100644 |
| --- a/tools/perf/benchmarks/v8.py |
| +++ b/tools/perf/benchmarks/v8.py |
| @@ -20,17 +20,16 @@ from telemetry.web_perf.metrics import v8_execution |
| from telemetry.web_perf.metrics import smoothness |
| from telemetry.web_perf.metrics import memory_timeline |
| +import v8_helper |
| -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(benchmark): |
|
nednguyen
2016/04/05 14:43:16
You don't need the benchmark param. Did the pylint
Camillo Bruni
2016/04/06 08:10:25
since I accidentally created v8_helper.py in the c
|
| + category_filter = tracing_category_filter.CreateMinimalOverheadFilter() |
| + category_filter.AddIncludedCategory('v8') |
| + category_filter.AddIncludedCategory('blink.console') |
| + options = timeline_based_measurement.Options(category_filter) |
| + options.SetLegacyTimelineBasedMetrics([v8_execution.V8ExecutionMetric()]) |
| + 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.SetLegacyTimelineBasedMetrics([v8_execution.V8ExecutionMetric()]) |
| - return options |
| + return CreateV8TimelineBasedMeasurementOptions(self) |
| @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.SetLegacyTimelineBasedMetrics([v8_execution.V8ExecutionMetric()]) |
| - 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.SetLegacyTimelineBasedMetrics([v8_execution.V8ExecutionMetric()]) |
| - return options |
| + return CreateV8TimelineBasedMeasurementOptions(self) |
| def CreateStorySet(self, options): |
| """Creates the instance of StorySet used to run the benchmark. |