21 lines
597 B
Python
21 lines
597 B
Python
#!/usr/bin/env python3
|
|
import csv
|
|
import math
|
|
from pathlib import Path
|
|
|
|
csv_path = Path('memory_eval/results/cold_start_20_runs_2026-02-25.csv')
|
|
rows = list(csv.DictReader(csv_path.open(encoding='utf-8')))
|
|
vals = sorted(float(r['elapsed_s']) for r in rows if r.get('exit_code') == '0')
|
|
|
|
if not vals:
|
|
print('no successful samples')
|
|
raise SystemExit(0)
|
|
|
|
def pct(vs, q):
|
|
i = max(0, math.ceil(len(vs) * q) - 1)
|
|
return vs[i]
|
|
|
|
p50 = pct(vals, 0.50)
|
|
p95 = pct(vals, 0.95)
|
|
print({'success_samples': len(vals), 'p50_s': round(p50, 4), 'p95_s': round(p95, 4), 'target_le_4_5s': p95 <= 4.5})
|