|
22 | 22 | k = parse('k: {}', k_raw)[0]
|
23 | 23 | k = int(k)
|
24 | 24 |
|
25 |
| - if measure_full_contraction: |
26 |
| - full_contraction_times = [0] * k |
27 |
| - for i in range(k): |
28 |
| - full_contraction_raw = next(lines) |
29 |
| - full_contraction = parse('full_contraction: {}', full_contraction_raw)[0] |
30 |
| - full_contraction_times[i] = int(full_contraction) |
31 |
| - |
| 25 | + try: |
| 26 | + if measure_full_contraction: |
| 27 | + full_contraction_times = [] |
| 28 | + for _ in range(k): |
| 29 | + full_contraction_raw = next(lines) |
| 30 | + full_contraction = parse('full_contraction: {}', full_contraction_raw)[0] |
| 31 | + full_contraction_times.append(int(full_contraction)) |
| 32 | + |
| 33 | + min_cut_raw = next(lines) |
| 34 | + except TypeError: |
| 35 | + min_cut_raw = full_contraction_raw |
| 36 | + finally: |
32 | 37 | full_contraction_mean = math.floor(statistics.mean(full_contraction_times))
|
33 |
| - |
34 |
| - min_cut_raw = next(lines) |
35 |
| - min_cut = parse('min_cut: {}', min_cut_raw)[0] |
| 38 | + min_cut = parse('min_cut: {}', min_cut_raw)[0] |
36 | 39 |
|
37 | 40 | program_time_raw = next(lines)
|
38 | 41 | program_time = parse('program_time: {}', program_time_raw)[0]
|
|
41 | 44 | discovery_time_raw = next(lines)
|
42 | 45 | discovery_time = parse('discovery_time: {}', discovery_time_raw)[0]
|
43 | 46 |
|
| 47 | + discovery_iteration_raw = next(lines) |
| 48 | + discovery_iteration = parse('discovery_iteration: {}', discovery_iteration_raw)[0] |
| 49 | + |
44 | 50 | csv_line = f'{filename};{nodes};{k};{expected_min_cut};{min_cut};{program_time}'
|
45 | 51 | if measure_full_contraction:
|
46 |
| - csv_line = f'{csv_line};{discovery_time};{full_contraction_mean}' |
| 52 | + csv_line = f'{csv_line};{discovery_time};{discovery_iteration};{full_contraction_mean}' |
47 | 53 |
|
48 | 54 | print(csv_line)
|
0 commit comments