Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cmd_results_viewer.py « benchmarks « data - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 1f9cca1798eb426c0eef6bd19135ac818fed361e (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import math
import sys


f1 = open(sys.argv[2], "r")
lns1 = f1.readlines()
lns1 = [l.split(" ") for l in lns1]

bench_cfg = {}

for l in lns1:
    c_name = l[1]
    is_country = (len(l) == 3)
    bench_cfg[l[1]] = []
    bench_cfg[l[1]].append(is_country) 
    if len(l) > 0:
        if not is_country:
            bench_cfg[c_name].append(float(l[2]))
            bench_cfg[c_name].append(float(l[3]))
            bench_cfg[c_name].append(float(l[4]))
            bench_cfg[c_name].append(float(l[5]))
            bench_cfg[c_name].append(int(l[6]))
        else:
            bench_cfg[c_name].append(int(l[2]))

f = open(sys.argv[1], "r")
lns = f.readlines()

def scale_level(r):
    dx = 360.0 / (r[2] - r[0])
    dy = 360.0 / (r[3] - r[1])

    v = (dx + dy) / 2.0

    l = math.log(v) / math.log(2.0) + 1
    if l > 17:
        l = 17
    if l < 0:
        return 0
    else:
        return math.floor(l + 0.5)

lns = [l.split(" ") for l in lns]

rev = {}

for l in lns:
    rev_name = l[1]
    start_time = l[2]
    bench_name = l[3]

    rect = [float(l[4]), float(l[5]), float(l[6]), float(l[7])]
    dur = float(l[8])
    if not rev.has_key(rev_name):
        rev[rev_name] = {}
    if not rev[rev_name].has_key(start_time):
        rev[rev_name][start_time] = {}
    if not rev[rev_name][start_time].has_key(bench_name):
        rev[rev_name][start_time][bench_name] = {}

    scale = scale_level(rect)

    if not rev[rev_name][start_time][bench_name].has_key(scale):
        rev[rev_name][start_time][bench_name][scale] = 0

    rev[rev_name][start_time][bench_name][scale] += dur

for rev_name in rev.keys():
    print rev_name
    for start_time in rev[rev_name].keys():
        print "\t", start_time
        for bench_name in rev[rev_name][start_time].keys():

            cfg_info = bench_cfg[bench_name]
            if not cfg_info[0]:
                print "\t\t", bench_name, "[", cfg_info[1], cfg_info[2], cfg_info[3], cfg_info[4], "]", "endScale=", cfg_info[5]
            else:
                print "\t\t", bench_name, "endScale=", cfg_info[1]
            k = rev[rev_name][start_time][bench_name].keys()
            k.sort()
            for scale_level in k:
                print "\t\t\t scale: ", scale_level, ", duration: " , rev[rev_name][start_time][bench_name][scale_level]