Chromium Code Reviews| Index: tools/perf/benchmarks/v8.py |
| diff --git a/tools/perf/benchmarks/v8.py b/tools/perf/benchmarks/v8.py |
| index 1215877042196f47ab5b722a0ba5c80ab71325e0..89093b8761cf4b9b6c08be26f3ff61f0d656c37e 100644 |
| --- a/tools/perf/benchmarks/v8.py |
| +++ b/tools/perf/benchmarks/v8.py |
| @@ -55,15 +55,9 @@ class V8DetachedContextAgeInGC(perf_benchmark.PerfBenchmark): |
| return 'v8.detached_context_age_in_gc' |
| -# Disabled on reference builds because they don't support the new |
| -# Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022. |
| -@benchmark.Disabled('reference', 'android') # crbug.com/579546 |
| -@benchmark.Disabled('win') # https://crbug.com/590747 |
| -class V8InfiniteScroll(perf_benchmark.PerfBenchmark): |
| - """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 |
| +class InfiniteScrollBenchmark(perf_benchmark.PerfBenchmark): |
| + """ Base class for infinite scroll benchmarks. |
| + """ |
| def SetExtraBrowserOptions(self, options): |
| existing_js_flags = [] |
| @@ -74,6 +68,8 @@ class V8InfiniteScroll(perf_benchmark.PerfBenchmark): |
| # TODO(perezju): Temporary workaround to disable periodic memory dumps. |
| # See: http://crbug.com/513692 |
| '--enable-memory-benchmarking', |
| + # Disable push notifications for Facebook. |
| + '--disable-notifications', |
| # This overrides any existing --js-flags, hence we have to include the |
| # previous flags as well. |
| '--js-flags="--heap-growing-percent=10 %s"' % |
| @@ -99,11 +95,7 @@ class V8InfiniteScroll(perf_benchmark.PerfBenchmark): |
| return options |
| @classmethod |
| - def Name(cls): |
| - return 'v8.infinite_scroll' |
| - |
| - @classmethod |
| - def ValueCanBeAddedPredicate(cls, value, is_first_result): |
| + def ValueCanBeAddedPredicate(cls, value, _): |
| if value.tir_label in ['Load', 'Wait']: |
| return (value.name.startswith('v8_') and not |
| value.name.startswith('v8_gc')) |
| @@ -115,6 +107,45 @@ class V8InfiniteScroll(perf_benchmark.PerfBenchmark): |
| else: |
| return value.tir_label == 'Scrolling' |
| + |
| +# Disabled on reference builds because they don't support the new |
| +# Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022. |
| +@benchmark.Disabled('reference', 'android') # crbug.com/579546 |
| +@benchmark.Disabled('win') # https://crbug.com/590747 |
| +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 |
| + |
| + @classmethod |
| + def Name(cls): |
| + return 'v8.infinite_scroll' |
| + |
| + @classmethod |
| + def ValueCanBeAddedPredicate(cls, value, is_first): |
|
eakuefner
2016/03/09 17:49:08
You shouldn't need to add these overrides; because
ulan
2016/03/10 11:41:23
Done.
|
| + return InfiniteScrollBenchmark.ValueCanBeAddedPredicate(value, is_first) |
| + |
| + @classmethod |
| + def ShouldTearDownStateAfterEachStoryRun(cls): |
| + return True |
| + |
| +@benchmark.Enabled('android') |
| +class V8MobileInfiniteScroll(InfiniteScrollBenchmark): |
| + """Measures V8 GC metrics and memory usage while scrolling the top mobile |
| + web pages. |
| + http://www.chromium.org/developers/design-documents/rendering-benchmarks""" |
| + |
| + page_set = page_sets.MobileInfiniteScrollPageSet |
| + |
| + @classmethod |
| + def Name(cls): |
| + return 'v8.mobile_infinite_scroll' |
| + |
| + @classmethod |
| + def ValueCanBeAddedPredicate(cls, value, is_first): |
| + return InfiniteScrollBenchmark.ValueCanBeAddedPredicate(value, is_first) |
| + |
| @classmethod |
| def ShouldTearDownStateAfterEachStoryRun(cls): |
| return True |