OLD | NEW |
---|---|
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 import shlex | 4 import shlex |
5 | 5 |
6 from core import perf_benchmark | 6 from core import perf_benchmark |
7 | 7 |
8 from measurements import v8_detached_context_age_in_gc | 8 from measurements import v8_detached_context_age_in_gc |
9 from measurements import v8_gc_times | 9 from measurements import v8_gc_times |
10 import page_sets | 10 import page_sets |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
131 | 131 |
132 @classmethod | 132 @classmethod |
133 def Name(cls): | 133 def Name(cls): |
134 return 'v8.todomvc' | 134 return 'v8.todomvc' |
135 | 135 |
136 @classmethod | 136 @classmethod |
137 def ShouldTearDownStateAfterEachStoryRun(cls): | 137 def ShouldTearDownStateAfterEachStoryRun(cls): |
138 return True | 138 return True |
139 | 139 |
140 | 140 |
141 class V8TodoMVCIgnition(perf_benchmark.PerfBenchmark): | |
142 """Measures V8 Execution metrics on the TodoMVC examples using ignition.""" | |
143 page_set = page_sets.TodoMVCPageSet | |
144 | |
145 def SetExtraBrowserOptions(self, options): | |
146 existing_js_flags = [] | |
147 for extra_arg in options.extra_browser_args: | |
148 if extra_arg.startswith('--js-flags='): | |
149 existing_js_flags.extend(shlex.split(extra_arg[len('--js-flags='):])) | |
150 options.AppendExtraBrowserArgs([ | |
151 # This overrides any existing --js-flags, hence we have to include the | |
152 # previous flags as well. | |
153 '--js-flags="--ignition %s"' % (' '.join(existing_js_flags)) | |
154 ]) | |
155 | |
156 def CreateTimelineBasedMeasurementOptions(self): | |
157 category_filter = tracing_category_filter.CreateMinimalOverheadFilter() | |
158 category_filter.AddIncludedCategory('v8') | |
159 category_filter.AddIncludedCategory('blink.console') | |
160 options = timeline_based_measurement.Options(category_filter) | |
161 options.SetLegacyTimelineBasedMetrics([v8_execution.V8ExecutionMetric()]) | |
rmcilroy
2016/03/17 15:25:37
I'm not sure these will capture any compile time f
| |
162 return options | |
163 | |
164 @classmethod | |
165 def Name(cls): | |
166 return 'v8.todomvc-ignition' | |
167 | |
168 @classmethod | |
169 def ShouldTearDownStateAfterEachStoryRun(cls): | |
Sami
2016/03/15 12:13:55
Like we discussed this should probably use the dep
jochen (gone - plz use gerrit)
2016/03/15 12:19:08
needs_browser_restart_after_each_page only works w
Zhen Wang
2016/03/15 15:48:44
This API should not be used. What are the use case
| |
170 return True | |
171 | |
172 | |
141 # Disabled on reference builds because they don't support the new | 173 # Disabled on reference builds because they don't support the new |
142 # Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022. | 174 # Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022. |
143 @benchmark.Disabled('reference', 'android') # crbug.com/579546 | 175 @benchmark.Disabled('reference', 'android') # crbug.com/579546 |
144 @benchmark.Disabled('win') # https://crbug.com/590747 | 176 @benchmark.Disabled('win') # https://crbug.com/590747 |
145 class V8InfiniteScroll(_InfiniteScrollBenchmark): | 177 class V8InfiniteScroll(_InfiniteScrollBenchmark): |
146 """Measures V8 GC metrics and memory usage while scrolling the top web pages. | 178 """Measures V8 GC metrics and memory usage while scrolling the top web pages. |
147 http://www.chromium.org/developers/design-documents/rendering-benchmarks""" | 179 http://www.chromium.org/developers/design-documents/rendering-benchmarks""" |
148 | 180 |
149 page_set = page_sets.InfiniteScrollPageSet | 181 page_set = page_sets.InfiniteScrollPageSet |
150 | 182 |
151 @classmethod | 183 @classmethod |
152 def Name(cls): | 184 def Name(cls): |
153 return 'v8.infinite_scroll' | 185 return 'v8.infinite_scroll' |
154 | 186 |
155 | 187 |
156 @benchmark.Enabled('android') | 188 @benchmark.Enabled('android') |
157 class V8MobileInfiniteScroll(_InfiniteScrollBenchmark): | 189 class V8MobileInfiniteScroll(_InfiniteScrollBenchmark): |
158 """Measures V8 GC metrics and memory usage while scrolling the top mobile | 190 """Measures V8 GC metrics and memory usage while scrolling the top mobile |
159 web pages. | 191 web pages. |
160 http://www.chromium.org/developers/design-documents/rendering-benchmarks""" | 192 http://www.chromium.org/developers/design-documents/rendering-benchmarks""" |
161 | 193 |
162 page_set = page_sets.MobileInfiniteScrollPageSet | 194 page_set = page_sets.MobileInfiniteScrollPageSet |
163 | 195 |
164 @classmethod | 196 @classmethod |
165 def Name(cls): | 197 def Name(cls): |
166 return 'v8.mobile_infinite_scroll' | 198 return 'v8.mobile_infinite_scroll' |
OLD | NEW |