file1 = "stringbench_log_cpython3.2" file2 = "stringbench_log_cpython3.3" with open(file1, "r") as log_file1: lines1 = log_file1.readlines() with open(file2, 'r') as log_file2: lines2 = log_file2.readlines() def extract_lines(lines): data = {} for line in lines: if not line.startswith('=') and not line.startswith('N'): parts = line.split('\t') data[parts[-1].strip()] = tuple(parts[:-1]) return data data1 = extract_lines(lines1[6:]) data2 = extract_lines(lines2[6:]) for key, item in data1.items(): unicode1_time = float(item[0]) unicode2_time = float(data2[key][0]) difference = ((unicode1_time - unicode2_time) / unicode2_time) * 100 if difference < -20: print "- %s: %f%%" % (key, difference)