#!/usr/bin/python from string import strip from sys import stdin targets = {} smilies = {'slowdown': '☹' , 'speedup': '☺'} for line in stdin: line = map(strip, filter(None, line.split(' '))) if 9 == len(line): target, name = line[0:2] factor, dir = line[-2:] name = name.split('-') name, size = '-'.join(name[:-1]), name[-1] target_tests = targets.get(target, {}) name_tests = target_tests.get(name, {}) name_tests[int(size)] = (factor, dir) target_tests[name] = name_tests targets[target] = target_tests print '''\ Performance Changes

Performance Changes

''' targets = targets.items() targets.sort(lambda a, b: cmp(a[0], b[0])) for target, names in targets: sizes = {} for tests in names.values(): for size in tests.keys(): sizes[size] = True sizes = sizes.keys() sizes.sort() names = names.items() names.sort(lambda a, b: cmp(a[0], b[0])) print '

%s

' % (target, target) print '' for size in sizes: print '' % size print '' for name, tests in names: print '' % name for size in sizes: result = tests.get(size) if result: factor, dir = result print '' % ( dir, factor, smilies[dir]) else: print '' print '' print '
 %s
%s%s %s 
' print ''