blob: c523e10def36d27dde6ec62543143cf8dc6d87ee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/usr/bin/python
# Copyright 2011 Google Inc. All Rights Reserved.
class ResultSorter(object):
def __init__(self, benchmark_runs):
self.table = {}
for benchmark_run in benchmark_runs:
benchmark_name = benchmark_run.benchmark_name
label_name = benchmark_run.label_name
for autotest_key in benchmark_run.results:
result_tuple = (benchmark_name, autotest_key, label_name)
if result_tuple not in self.table:
self.table[result_tuple] = []
cell = self.table[result_tuple]
index = benchmark_run.iteration - 1
while index >= len(cell):
cell.append(None)
result_value = benchmark_run.results[autotest_key]
try:
result_value = float(result_value)
except ValueError:
pass
cell[index] = result_value
self.autotest_keys = {}
for benchmark_run in benchmark_runs:
benchmark_name = benchmark_run.benchmark_name
if benchmark_name not in self.autotest_keys:
self.autotest_keys[benchmark_name] = {}
for autotest_key in benchmark_run.results:
self.autotest_keys[benchmark_name][autotest_key] = True
def GetAutotestKeys(self, benchmark_name):
return self.autotest_keys[benchmark_name].keys()
def GetResults(self, benchmark_name, autotest_key, label_name):
try:
return self.table[(benchmark_name, autotest_key, label_name)]
except KeyError:
return []
|