| OLD | NEW |
| 1 # Copyright 2012 The Chromium Authors. All rights reserved. | 1 # Copyright 2012 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 Octane 2.0 javascript benchmark. | 5 """Runs Octane 2.0 javascript benchmark. |
| 6 | 6 |
| 7 Octane 2.0 is a modern benchmark that measures a JavaScript engine's performance | 7 Octane 2.0 is a modern benchmark that measures a JavaScript engine's performance |
| 8 by running a suite of tests representative of today's complex and demanding web | 8 by running a suite of tests representative of today's complex and demanding web |
| 9 applications. Octane's goal is to measure the performance of JavaScript code | 9 applications. Octane's goal is to measure the performance of JavaScript code |
| 10 found in large, real-world web applications. | 10 found in large, real-world web applications. |
| 11 Octane 2.0 consists of 17 tests, four more than Octane v1. | 11 Octane 2.0 consists of 17 tests, four more than Octane v1. |
| 12 """ | 12 """ |
| 13 | 13 |
| 14 import os | 14 import os |
| 15 | 15 |
| 16 from core import perf_benchmark | 16 from core import perf_benchmark |
| 17 | 17 |
| 18 from telemetry import benchmark |
| 18 from telemetry import page as page_module | 19 from telemetry import page as page_module |
| 19 from telemetry.page import legacy_page_test | 20 from telemetry.page import legacy_page_test |
| 20 from telemetry import story | 21 from telemetry import story |
| 21 from telemetry.util import statistics | 22 from telemetry.util import statistics |
| 22 from telemetry.value import scalar | 23 from telemetry.value import scalar |
| 23 | 24 |
| 24 from metrics import power | 25 from metrics import power |
| 25 | 26 |
| 26 _GB = 1024 * 1024 * 1024 | 27 _GB = 1024 * 1024 * 1024 |
| 27 | 28 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 # Collect all test scores to compute geometric mean. | 125 # Collect all test scores to compute geometric mean. |
| 125 all_scores.append(score) | 126 all_scores.append(score) |
| 126 total = statistics.GeometricMean(all_scores) | 127 total = statistics.GeometricMean(all_scores) |
| 127 results.AddSummaryValue( | 128 results.AddSummaryValue( |
| 128 scalar.ScalarValue(None, 'Total.Score', 'score', total, | 129 scalar.ScalarValue(None, 'Total.Score', 'score', total, |
| 129 description='Geometric mean of the scores of each ' | 130 description='Geometric mean of the scores of each ' |
| 130 'individual benchmark in the Octane ' | 131 'individual benchmark in the Octane ' |
| 131 'benchmark collection.')) | 132 'benchmark collection.')) |
| 132 | 133 |
| 133 | 134 |
| 135 @benchmark.Owner(emails=['bmeurer@chromium.org', 'mvstanton@chromium.org']) |
| 134 class Octane(perf_benchmark.PerfBenchmark): | 136 class Octane(perf_benchmark.PerfBenchmark): |
| 135 """Google's Octane JavaScript benchmark. | 137 """Google's Octane JavaScript benchmark. |
| 136 | 138 |
| 137 http://chromium.github.io/octane/index.html?auto=1 | 139 http://chromium.github.io/octane/index.html?auto=1 |
| 138 """ | 140 """ |
| 139 test = _OctaneMeasurement | 141 test = _OctaneMeasurement |
| 140 | 142 |
| 141 @classmethod | 143 @classmethod |
| 142 def Name(cls): | 144 def Name(cls): |
| 143 return 'octane' | 145 return 'octane' |
| 144 | 146 |
| 145 def CreateStorySet(self, options): | 147 def CreateStorySet(self, options): |
| 146 ps = story.StorySet( | 148 ps = story.StorySet( |
| 147 archive_data_file='../page_sets/data/octane.json', | 149 archive_data_file='../page_sets/data/octane.json', |
| 148 base_dir=os.path.dirname(os.path.abspath(__file__)), | 150 base_dir=os.path.dirname(os.path.abspath(__file__)), |
| 149 cloud_storage_bucket=story.PUBLIC_BUCKET) | 151 cloud_storage_bucket=story.PUBLIC_BUCKET) |
| 150 ps.AddStory(page_module.Page( | 152 ps.AddStory(page_module.Page( |
| 151 'http://chromium.github.io/octane/index.html?auto=1', | 153 'http://chromium.github.io/octane/index.html?auto=1', |
| 152 ps, ps.base_dir, make_javascript_deterministic=False)) | 154 ps, ps.base_dir, make_javascript_deterministic=False)) |
| 153 return ps | 155 return ps |
| OLD | NEW |