import csv import sys def analyze(filename): durations = [] failed = 0 total = 0 stutters = 0 try: with open(filename, 'r') as f: reader = csv.reader(f) next(reader) # skip header for row in reader: if not row or row[0].startswith('#'): continue total += 1 try: d = int(row[1]) durations.append(d) if d > 1000: stutters += 1 if row[4] == 'false': failed += 1 except: pass durations.sort() if not durations: return p50 = durations[len(durations)//2] p90 = durations[int(len(durations)*0.90)] p99 = durations[int(len(durations)*0.99)] max_d = durations[-1] print(f"[{filename}]") print(f"P50={p50} P90={p90} P99={p99} Max={max_d} Stutters={stutters} Failed={failed}/{total}") except Exception as e: print(f"Error reading {filename}: {e}") analyze("/home/popertots/bench/pathfinding_benchmark_baseline_release.csv") analyze("pathfinding_benchmark_current.csv")