|
7 | 7 | parser.add_argument('-c', '--current', required=True, help='Current CSV file') |
8 | 8 | args = parser.parse_args() |
9 | 9 |
|
10 | | -pretty = lambda x : "{:.1f}".format(x) if x <= 0 else "+{:.1f}".format(x) |
| 10 | +pretty = lambda x : f'{x:.1f}' |
11 | 11 |
|
12 | | -with open(args.baseline) as csv_file: |
13 | | - csv_reader = csv.reader(csv_file) |
14 | | - next(csv_reader) |
15 | | - table_baseline = [row for row in csv_reader] |
| 12 | +def get_emoji(x): |
| 13 | + if x <= -1.0: |
| 14 | + return ':green_circle:' |
| 15 | + elif x >= 1.0: |
| 16 | + return ':red_circle:' |
| 17 | + else: |
| 18 | + return ':white_circle:' |
16 | 19 |
|
17 | 20 | with open(args.current) as csv_file: |
18 | 21 | csv_reader = csv.reader(csv_file) |
19 | 22 | next(csv_reader) |
20 | | - table_benchmark = [row for row in csv_reader] |
| 23 | + table_current = [row for row in csv_reader] |
| 24 | + |
| 25 | +with open(args.baseline) as csv_file: |
| 26 | + csv_reader = csv.reader(csv_file) |
| 27 | + next(csv_reader) |
| 28 | + table_baseline = [row for row in csv_reader] |
21 | 29 |
|
22 | 30 | table = [] |
23 | | -for benchmark, baseline in zip(table_benchmark, table_baseline): |
24 | | - assert(benchmark[0] == baseline[0]) |
25 | | - name = benchmark[0] |
26 | | - time = benchmark[1] |
27 | | - stdev = u"\u00B1" + str(benchmark[2]) |
28 | | - d = float(baseline[1]) - float(benchmark[1]) |
29 | | - emoji = ':red_circle:' if 0 < d else ':green_circle:' |
30 | | - difference = pretty(d) |
| 31 | +for current, baseline in zip(table_current, table_baseline): |
| 32 | + assert(current[0] == baseline[0]) |
| 33 | + name = current[0] |
| 34 | + time = int(float(current[1])) |
| 35 | + stdev = pretty(float(current[2])) |
| 36 | + d = float(baseline[1]) - float(current[1]) |
| 37 | + difference = int(d) |
31 | 38 | percent = pretty(0 if float(baseline[1]) == 0.0 else 100 * d / float(baseline[1])) |
| 39 | + emoji = get_emoji(float(percent)) |
32 | 40 | table.append([name, time, stdev, emoji, difference, percent]) |
33 | 41 |
|
34 | 42 | header = ["name", "time", "stdev", "", "difference", "percent"] |
|
0 commit comments