INNER CODE UNIT · Python
run
StrobeLabs/eth.zig · bench/ab.py:34
def run(binary, samples, flt):
cmd = [binary, "--json", "--samples", str(samples)]
if flt:
cmd += ["--filter", flt]
out = subprocess.run(cmd, check=True, capture_output=True, text=True).stdout
return {r["name"]: r["median_ns"] for r in json.loads(out)["results"]}
def main():
ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
ap.add_argument("binaries", nargs="+", help="first one is the baseline")
ap.add_argument("--rounds", type=int, default=5)
ap.add_argument("--samples", type=int, default=15)
ap.add_argument("--filter", default=None)
ap.add_argument("--threshold", type=float, default=5.0, help="percent change to flag")
args = ap.parse_args()
runs = {b: [] for b in args.binaries}