| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 | 4 |
| 5 """Runs Chromium's IndexedDB performance test. These test: | 5 """Runs Chromium's IndexedDB performance test. These test: |
| 6 | 6 |
| 7 Databases: | 7 Databases: |
| 8 create/delete | 8 create/delete |
| 9 Keys: | 9 Keys: |
| 10 create/delete | 10 create/delete |
| 11 Indexes: | 11 Indexes: |
| 12 create/delete | 12 create/delete |
| 13 Data access: | 13 Data access: |
| 14 Random read/write | 14 Random read/write |
| 15 Read cache | 15 Read cache |
| 16 Cursors: | 16 Cursors: |
| 17 Read & random writes | 17 Read & random writes |
| 18 Walking multiple | 18 Walking multiple |
| 19 Seeking. | 19 Seeking. |
| 20 """ | 20 """ |
| 21 | 21 |
| 22 import json | 22 import json |
| 23 import os | 23 import os |
| 24 | 24 |
| 25 from core import path_util | 25 from core import path_util |
| 26 from core import perf_benchmark | 26 from core import perf_benchmark |
| 27 | 27 |
| 28 from telemetry import benchmark |
| 28 from telemetry import page as page_module | 29 from telemetry import page as page_module |
| 29 from telemetry import story | 30 from telemetry import story |
| 30 from telemetry.page import legacy_page_test | 31 from telemetry.page import legacy_page_test |
| 31 from telemetry.value import scalar | 32 from telemetry.value import scalar |
| 32 | 33 |
| 33 from metrics import memory | 34 from metrics import memory |
| 34 from metrics import power | 35 from metrics import power |
| 35 | 36 |
| 36 import page_sets | 37 import page_sets |
| 37 | 38 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 | 85 |
| 85 total += msec | 86 total += msec |
| 86 results.AddValue(scalar.ScalarValue( | 87 results.AddValue(scalar.ScalarValue( |
| 87 results.current_page, 'Total Perf', 'ms', total)) | 88 results.current_page, 'Total Perf', 'ms', total)) |
| 88 | 89 |
| 89 def CustomizeBrowserOptions(self, options): | 90 def CustomizeBrowserOptions(self, options): |
| 90 memory.MemoryMetric.CustomizeBrowserOptions(options) | 91 memory.MemoryMetric.CustomizeBrowserOptions(options) |
| 91 power.PowerMetric.CustomizeBrowserOptions(options) | 92 power.PowerMetric.CustomizeBrowserOptions(options) |
| 92 | 93 |
| 93 | 94 |
| 95 @benchmark.Disabled('linux') # crbug.com/677972 |
| 94 class IndexedDbOriginal(perf_benchmark.PerfBenchmark): | 96 class IndexedDbOriginal(perf_benchmark.PerfBenchmark): |
| 95 """Chromium's IndexedDB Performance tests.""" | 97 """Chromium's IndexedDB Performance tests.""" |
| 96 test = _IndexedDbMeasurement | 98 test = _IndexedDbMeasurement |
| 97 | 99 |
| 98 @classmethod | 100 @classmethod |
| 99 def Name(cls): | 101 def Name(cls): |
| 100 return 'indexeddb_perf' | 102 return 'indexeddb_perf' |
| 101 | 103 |
| 102 def CreateStorySet(self, options): | 104 def CreateStorySet(self, options): |
| 103 indexeddb_dir = os.path.join(path_util.GetChromiumSrcDir(), 'chrome', | 105 indexeddb_dir = os.path.join(path_util.GetChromiumSrcDir(), 'chrome', |
| 104 'test', 'data', 'indexeddb') | 106 'test', 'data', 'indexeddb') |
| 105 ps = story.StorySet(base_dir=indexeddb_dir) | 107 ps = story.StorySet(base_dir=indexeddb_dir) |
| 106 ps.AddStory(page_module.Page('file://perf_test.html', ps, ps.base_dir)) | 108 ps.AddStory(page_module.Page('file://perf_test.html', ps, ps.base_dir)) |
| 107 return ps | 109 return ps |
| 108 | 110 |
| 109 | 111 |
| 112 @benchmark.Disabled('linux') # crbug.com/677972 |
| 110 class IndexedDbOriginalSectioned(perf_benchmark.PerfBenchmark): | 113 class IndexedDbOriginalSectioned(perf_benchmark.PerfBenchmark): |
| 111 """Chromium's IndexedDB Performance tests.""" | 114 """Chromium's IndexedDB Performance tests.""" |
| 112 test = _IndexedDbMeasurement | 115 test = _IndexedDbMeasurement |
| 113 page_set = page_sets.IndexedDBEndurePageSet | 116 page_set = page_sets.IndexedDBEndurePageSet |
| 114 | 117 |
| 115 @classmethod | 118 @classmethod |
| 116 def Name(cls): | 119 def Name(cls): |
| 117 return 'storage.indexeddb_endure' | 120 return 'storage.indexeddb_endure' |
| 118 | 121 |
| 119 | 122 |
| 123 @benchmark.Disabled('linux') # crbug.com/677972 |
| 120 class IndexedDbTracing(perf_benchmark.PerfBenchmark): | 124 class IndexedDbTracing(perf_benchmark.PerfBenchmark): |
| 121 """IndexedDB Performance tests that use tracing.""" | 125 """IndexedDB Performance tests that use tracing.""" |
| 122 page_set = page_sets.IndexedDBEndurePageSet | 126 page_set = page_sets.IndexedDBEndurePageSet |
| 123 | 127 |
| 124 def CreateTimelineBasedMeasurementOptions(self): | 128 def CreateTimelineBasedMeasurementOptions(self): |
| 125 cat_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter() | 129 cat_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter() |
| 126 cat_filter.AddIncludedCategory(IDB_CATEGORY) | 130 cat_filter.AddIncludedCategory(IDB_CATEGORY) |
| 127 cat_filter.AddIncludedCategory(TIMELINE_REQUIRED_CATEGORY) | 131 cat_filter.AddIncludedCategory(TIMELINE_REQUIRED_CATEGORY) |
| 128 | 132 |
| 129 return timeline_based_measurement.Options( | 133 return timeline_based_measurement.Options( |
| 130 overhead_level=cat_filter) | 134 overhead_level=cat_filter) |
| 131 | 135 |
| 132 @classmethod | 136 @classmethod |
| 133 def Name(cls): | 137 def Name(cls): |
| 134 return 'storage.indexeddb_endure_tracing' | 138 return 'storage.indexeddb_endure_tracing' |
| 135 | 139 |
| 136 @classmethod | 140 @classmethod |
| 137 def ValueCanBeAddedPredicate(cls, value, is_first_result): | 141 def ValueCanBeAddedPredicate(cls, value, is_first_result): |
| 138 return 'idb' in value.name | 142 return 'idb' in value.name |
| OLD | NEW |