Chromium Code Reviews| Index: tools/perf/benchmarks/v8_top_25.py |
| diff --git a/tools/perf/benchmarks/v8_top_25.py b/tools/perf/benchmarks/v8_top_25.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e03e9b4b9e476426f1dddcaac3718c1338f03bfc |
| --- /dev/null |
| +++ b/tools/perf/benchmarks/v8_top_25.py |
| @@ -0,0 +1,59 @@ |
| +# Copyright 2016 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
|
nednguyen
2016/11/10 23:04:11
nits: let merge this to v8.py file
fmeawad
2016/11/10 23:52:31
Done.
|
| +from core import perf_benchmark |
| +import page_sets |
| + |
| +from telemetry.timeline import chrome_trace_category_filter |
| +from telemetry.web_perf import timeline_based_measurement |
| + |
| + |
| +class _Top25RuntimeStats(perf_benchmark.PerfBenchmark): |
| + options = {'pageset_repeat': 1} |
| + tag = 'cold' |
|
nednguyen
2016/11/10 23:04:11
what is this tag for?
fmeawad
2016/11/10 23:52:31
Not sure, probably copied from another benchmark,
|
| + |
| + def CreateTimelineBasedMeasurementOptions(self): |
| + cat_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( |
| + filter_string='blink.console,navigation,blink.user_timing,loading') |
| + |
| + # Below categories are needed for first-meaningful-paint computation. |
| + cat_filter.AddDisabledByDefault('disabled-by-default-blink.debug.layout') |
| + cat_filter.AddIncludedCategory('devtools.timeline') |
| + |
| + # Below categories are needed for time-to-interactive computation. |
| + cat_filter.AddIncludedCategory('toplevel') |
| + |
| + # V8 needed categories |
| + cat_filter.AddIncludedCategory('v8') |
| + cat_filter.AddDisabledByDefault('disabled-by-default-v8.runtime_stats') |
| + |
| + tbm_options = timeline_based_measurement.Options( |
| + overhead_level=cat_filter) |
| + tbm_options.SetTimelineBasedMetrics(['runtimeStatsMetric']) |
| + return tbm_options |
| + |
| + @classmethod |
| + def ShouldDisable(cls, possible_browser): |
| + if possible_browser.browser_type == 'reference': |
| + return True |
| + return False |
| + |
| + @classmethod |
| + def ShouldTearDownStateAfterEachStoryRun(cls): |
| + return True |
| + |
| + |
| +class V8Top25RuntimeStats(_Top25RuntimeStats): |
| + """Runtime Stats benchmark for a 25 top V8 web pages. |
| + |
| + Designed to represent a mix between top websites and a set of pages that |
| + have unique V8 characteristics. |
| + """ |
| + |
| + @classmethod |
| + def Name(cls): |
| + return 'v8.runtime_stats.top_25' |
| + |
| + def CreateStorySet(self, options): |
| + return page_sets.V8Top25StorySet() |