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 import collections | 4 import collections |
5 import json | 5 import json |
6 import os | 6 import os |
7 | 7 |
8 from metrics import power | 8 from metrics import power |
9 from telemetry import test | 9 from telemetry import benchmark |
10 from telemetry.page import page_measurement | 10 from telemetry.page import page_measurement |
11 from telemetry.page import page_set | 11 from telemetry.page import page_set |
12 | 12 |
13 | 13 |
14 _URL = 'http://www.webkit.org/perf/sunspider-1.0.2/sunspider-1.0.2/driver.html' | 14 _URL = 'http://www.webkit.org/perf/sunspider-1.0.2/sunspider-1.0.2/driver.html' |
15 | 15 |
16 | 16 |
17 class _SunspiderMeasurement(page_measurement.PageMeasurement): | 17 class _SunspiderMeasurement(page_measurement.PageMeasurement): |
18 def __init__(self): | 18 def __init__(self): |
19 super(_SunspiderMeasurement, self).__init__() | 19 super(_SunspiderMeasurement, self).__init__() |
(...skipping 24 matching lines...) Expand all Loading... |
44 total = 0 | 44 total = 0 |
45 for key, value in result.iteritems(): | 45 for key, value in result.iteritems(): |
46 r[key].append(value) | 46 r[key].append(value) |
47 total += value | 47 total += value |
48 totals.append(total) | 48 totals.append(total) |
49 for key, values in r.iteritems(): | 49 for key, values in r.iteritems(): |
50 results.Add(key, 'ms', values, data_type='unimportant') | 50 results.Add(key, 'ms', values, data_type='unimportant') |
51 results.Add('Total', 'ms', totals) | 51 results.Add('Total', 'ms', totals) |
52 | 52 |
53 | 53 |
54 class Sunspider(test.Test): | 54 class Sunspider(benchmark.Benchmark): |
55 """Apple's SunSpider JavaScript benchmark.""" | 55 """Apple's SunSpider JavaScript benchmark.""" |
56 test = _SunspiderMeasurement | 56 test = _SunspiderMeasurement |
57 | 57 |
58 def CreatePageSet(self, options): | 58 def CreatePageSet(self, options): |
59 ps = page_set.PageSet( | 59 ps = page_set.PageSet( |
60 archive_data_file='../page_sets/data/sunspider.json', | 60 archive_data_file='../page_sets/data/sunspider.json', |
61 make_javascript_deterministic=False, | 61 make_javascript_deterministic=False, |
62 file_path=os.path.abspath(__file__)) | 62 file_path=os.path.abspath(__file__)) |
63 ps.AddPageWithDefaultRunNavigate(_URL) | 63 ps.AddPageWithDefaultRunNavigate(_URL) |
64 return ps | 64 return ps |
OLD | NEW |