import json, statistics as st B="/testessfs10/users/zeyu.zhang/wangyu_ssd/stage1/" def load(p): d={} for line in open(B+p): r=json.loads(line); d[r["pid"]]=r return d v1,v2,v3 = load("s32_van_e.jsonl"), load("s32_van_e2.jsonl"), load("s32_van_e3.jsonl") for tag,f in (("blind_strict","s32_spec_g6.jsonl"),("blind_relax","s32_specrx_g6.jsonl")): sp = load(f) pids = sorted(set(sp)&set(v2)&set(v3)) n=len(pids) ratios = sorted(sp[p]["tok_s"]/((v2[p]["tok_s"]+v3[p]["tok_s"])/2) for p in pids) med=st.median(ratios); q1=ratios[n//4]; q3=ratios[(3*n)//4] spm=st.mean([sp[p]["tok_s"] for p in pids]) print(f"{tag}: n={n} median={med:.3f} [IQR {q1:.3f}-{q3:.3f}] spec_mean={spm:.1f} tok/s") m1=st.mean([r["tok_s"] for r in v1.values()]); m2=st.mean([r["tok_s"] for r in v2.values()]); m3=st.mean([r["tok_s"] for r in v3.values()]) print(f"vanilla means: van_e={m1:.2f} van_e2={m2:.2f} van_e3={m3:.2f} tok/s")