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

Unified Diff: tools/perf/benchmarks/v8.py

Issue 1860013002: [perf] Add speedometer-ignition benchmark (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge master Created 4 years, 8 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
« no previous file with comments | « tools/perf/benchmarks/speedometer.py ('k') | tools/perf/benchmarks/v8_helper.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « tools/perf/benchmarks/speedometer.py ('k') | tools/perf/benchmarks/v8_helper.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698