mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-14 12:23:43 +00:00
research: evaluate moejs extension compatibility and performance
This commit is contained in:
1 parent
be0a395447
commit
941fda7d13
29 files changed
+1688
No files matched your search
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Summarize saved Go benchmark samples; times are medians, not best runs."""
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import statistics
|
||||
|
||||
root = Path(__file__).resolve().parent
|
||||
samples = {}
|
||||
for line in (root/'results/bench.txt').read_text().splitlines():
|
||||
match = re.match(r'(Benchmark\S+)\s+\d+\s+([\d.]+) ns/op\s+([\d.]+) B/op\s+([\d.]+) allocs/op',line)
|
||||
if match:
|
||||
key, *values = match.groups()
|
||||
samples.setdefault(key, []).append(list(map(float,values)))
|
||||
summary = {}
|
||||
for key, rows in samples.items():
|
||||
summary[key] = dict(samples=len(rows),ns_median=statistics.median(r[0] for r in rows),ns_min=min(r[0] for r in rows),ns_max=max(r[0] for r in rows),bytes_median=statistics.median(r[1] for r in rows),allocs_median=statistics.median(r[2] for r in rows))
|
||||
(root/'results/bench-summary.json').write_text(json.dumps(summary,indent=2)+'\n')
|
||||
for key, row in summary.items():
|
||||
print(f'{key}: {row["ns_median"]/1e6:.3f} ms/op; {row["bytes_median"]/1024:.1f} KiB/op; samples={row["samples"]}')
|
||||
Reference in new issue
Block a user