#!/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})