Chromium Code Reviews| 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 |