From 12d4e4f868f9efe58388810fee8ca322f6b88643 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 09:31:54 -0400 Subject: [PATCH 01/25] DDIR bench: a server-driven benchmark harness, first reports, first profile `interactive/bench/bench.py` runs every workload as a session on the server binary (install, load, tick, tick R) across backends, worker counts and repetitions, and writes JSONL + markdown reports named by date and revision. Workloads: scc, reach, kcore, stable, tour, adt, ast, unnest on seeded random graphs at three scales, and the 33 AoC parts. `--profile` records one session under samply. Reports so far: the small-scale sweep, and a first reading of an scc/corgi profile with candidate hot spots (find_ranges seeking from scratch per needle; `CorgiChunk::advance` materializing and re-advancing repeated times). Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/.gitignore | 1 + interactive/bench/README.md | 51 ++++ interactive/bench/bench.py | 232 ++++++++++++++++++ .../reports/2026-09-04-d875d6e0-small.jsonl | 64 +++++ .../reports/2026-09-04-d875d6e0-small.md | 25 ++ .../reports/2026-09-04-scc-corgi-profile.md | 53 ++++ 6 files changed, 426 insertions(+) create mode 100644 interactive/bench/.gitignore create mode 100644 interactive/bench/README.md create mode 100755 interactive/bench/bench.py create mode 100644 interactive/bench/reports/2026-09-04-d875d6e0-small.jsonl create mode 100644 interactive/bench/reports/2026-09-04-d875d6e0-small.md create mode 100644 interactive/bench/reports/2026-09-04-scc-corgi-profile.md diff --git a/interactive/bench/.gitignore b/interactive/bench/.gitignore new file mode 100644 index 000000000..ac02ca267 --- /dev/null +++ b/interactive/bench/.gitignore @@ -0,0 +1 @@ +reports/profiles/ diff --git a/interactive/bench/README.md b/interactive/bench/README.md new file mode 100644 index 000000000..8db36348c --- /dev/null +++ b/interactive/bench/README.md @@ -0,0 +1,51 @@ +# DDIR benchmarks + +Every workload here runs as a **session on the one server binary**: `install` +a program, `load` its inputs in bulk (sharded across the workers), `tick` once +for the initial epoch, then `tick R` for R epochs of standing change. The +server times each `tick`; `bench.py` collects the times across backends, +worker counts and repetitions, and writes a JSONL log plus a markdown summary +under `reports/`, named by date and git revision. + +``` +cargo build --release -p interactive --example ddir_server +./bench.py --scale small --runs 3 # sanity pass, seconds +./bench.py --scale medium --workers 1,4 --runs 3 # the standing report +./bench.py --aoc --backends vec,corgi # the 33 AoC parts, one epoch each +./bench.py --profile scc --backend corgi --scale medium # samply -> reports/profiles/ +``` + +## Workloads + +| name | program | input | +|---|---|---| +| scc, kcore, adt, ast, unnest | `examples/programs/` | a seeded random graph, `random:nodes=N,edges=2N,churn=C` | +| reach, tour | same | the graph plus one root, `feed p 1 0` | +| stable | same | random 4-field rows (`arity=4`), the preference edges | +| aocDDpP | `examples/aoc2023/dayDD/partP.ddp` | the transcribed fact file, one epoch, no churn | + +Scales (`--scale`): small = 10k nodes / 20k edges / churn 10 / 20 rounds; +medium = 100k / 200k / 100 / 50; large = 1M / 2M / 1000 / 20. The graph is +deterministic (`seed=0`), so two runs at one revision see the same rows. + +## What the numbers mean + +- **initial epoch**: the first `tick` — the bulk load reaching the dataflow + and the whole computation running to its fixed point. +- **per churn epoch**: the `tick R` time divided by R — each epoch retracts C + rows of the window and inserts C fresh ones, and the tick waits for every + export to catch up. Closed-loop: one epoch is fully retired before the next + opens (the old harness's `--sync=K` open-loop regime is not reproduced). +- Not included: parse/lower/optimize (the intake thread), process start, and + the server's own bookkeeping outside `tick`. The export arrangement the + server maintains for `peek`/`import` **is** included; it is part of running + on the server. + +Medians over `--runs` are reported; the JSONL keeps every run. Single runs +are not comparable across machines or with other things running. + +## Profiling + +`--profile` wraps one session in `samply record --save-only` and writes a +Firefox-format profile to `reports/profiles/`. Load it with `samply load` or +with the pollard tools; `timely:work-0` is the thread to look at. diff --git a/interactive/bench/bench.py b/interactive/bench/bench.py new file mode 100755 index 000000000..7f03bd4a6 --- /dev/null +++ b/interactive/bench/bench.py @@ -0,0 +1,232 @@ +#!/usr/bin/env python3 +"""DDIR benchmark harness: every workload runs as a session on the one server binary. + +Each workload is a program from `examples/programs/` (or an AoC part) plus a +recipe for its inputs. A run is `install`, `load` (bulk, sharded across +workers), one `tick` (the initial epoch: load + first computation), then +`tick R` (R epochs of `churn` replaced rows each). The server reports each +`tick`'s wall-clock time; this script collects them across backends, worker +counts, and repetitions, and writes a JSONL log plus a markdown summary. + + ./bench.py --scale small --runs 3 # quick sanity pass + ./bench.py --scale medium --backends vec,corgi --workers 1,4 --runs 5 + ./bench.py --only scc,reach --scale large + ./bench.py --aoc # the 33 AoC parts, one epoch each + ./bench.py --profile scc --backend corgi --workers 1 --scale medium + # samply record -> reports/profiles/ + +Times are what the server prints; parse/lower/optimize (the intake thread) and +process startup are outside them. The report records the git revision so runs +are comparable across commits. +""" + +import argparse +import datetime as dt +import json +import os +import re +import statistics +import subprocess +import sys + +HERE = os.path.dirname(os.path.abspath(__file__)) +CRATE = os.path.dirname(HERE) # interactive/ +ROOT = os.path.dirname(CRATE) # repo root +SERVER = os.path.join(ROOT, "target", "release", "examples", "ddir_server") +AOC = os.path.join(CRATE, "examples", "aoc2023") + +# scale -> (nodes, edges, churn, rounds) +SCALES = { + "small": (10_000, 20_000, 10, 20), + "medium": (100_000, 200_000, 100, 50), + "large": (1_000_000, 2_000_000, 1000, 20), +} + +def graph(nodes, edges, churn, arity=2, seed=0): + return f"random:nodes={nodes},edges={edges},arity={arity},seed={seed},churn={churn}" + +# name -> (program, session builder). The builder gets (nodes, edges, churn) and +# returns the commands between `install` and the ticks. +WORKLOADS = { + "scc": ("examples/programs/scc.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), + "reach": ("examples/programs/reach.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}", "feed p 1 0"]), + "kcore": ("examples/programs/kcore.ddir", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), + "stable": ("examples/programs/stable.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c, arity=4)}"]), + "tour": ("examples/programs/tour.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}", "feed p 1 0"]), + "adt": ("examples/programs/adt.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), + "ast": ("examples/programs/ast.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), + "unnest": ("examples/programs/unnest.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), +} + +UNITS = {"ns": 1e-9, "µs": 1e-6, "ms": 1e-3, "s": 1.0} +TICK = re.compile(r"^tick -> epoch (\d+) \(([\d.]+)(ns|µs|ms|s)\)$") +INSTALLED = re.compile(r'^installed "p" \((\d+) ops\)$') +LOADED = re.compile(r"^loaded (\d+) rows") + + +def run_session(lines, backend, workers, timeout=3600, wrap=None): + """Run one session on the server; return (ops, rows, [(epoch, seconds)]) or raise.""" + cmd = [SERVER, f"--backend={backend}", f"-w{workers}"] + if wrap: + cmd = wrap + cmd + proc = subprocess.run(cmd, input="\n".join(lines) + "\nexit\n", capture_output=True, + text=True, timeout=timeout, cwd=CRATE) + ops = rows = None + ticks = [] + for line in proc.stdout.splitlines(): + if m := INSTALLED.match(line): + ops = int(m.group(1)) + elif m := LOADED.match(line): + rows = int(m.group(1)) + elif m := TICK.match(line): + ticks.append((int(m.group(1)), float(m.group(2)) * UNITS[m.group(3)])) + elif line.startswith("error:") or "panicked" in line: + raise RuntimeError(line) + if proc.returncode != 0 or "panicked" in proc.stderr: + raise RuntimeError(proc.stderr.strip().splitlines()[-1] if proc.stderr.strip() else f"exit {proc.returncode}") + return ops, rows, ticks + + +def session(name, nodes, edges, churn, rounds): + program, build = WORKLOADS[name] + return [f"install p {program}", *build(nodes, edges, churn), "tick", f"tick {rounds}"] + + +def aoc_sessions(backend): + """One (label, session) per AoC part, inputs regenerated by transcribe.py.""" + pad = ["--pad"] if backend == "corgi" else [] + subprocess.run([sys.executable, "transcribe.py", *pad], cwd=AOC, check=True, capture_output=True) + out = [] + for line in open(os.path.join(AOC, "expected.txt")): + parts = line.split() + if not parts or parts[0].startswith("#"): + continue + day, part = parts[0], parts[1] + inp = f"gen/day{day}/input.txt" + for cand in (f"gen/day{day}/input{part}.txt", f"gen/day{day}/input{part}p.txt" if pad else None): + if cand and os.path.exists(os.path.join(AOC, cand)): + inp = cand + out.append((f"aoc{day}p{part}", [f"install p {AOC}/day{day}/part{part}.ddp", f"load p 0 {AOC}/{inp}", "tick"])) + return out + + +def git(*args): + return subprocess.run(["git", *args], cwd=ROOT, capture_output=True, text=True).stdout.strip() + + +def fmt(seconds): + if seconds is None: + return "-" + if seconds < 1e-3: + return f"{seconds * 1e6:.0f}µs" + if seconds < 1: + return f"{seconds * 1e3:.1f}ms" + return f"{seconds:.2f}s" + + +def summarize(records, path): + """Median per (workload, backend, workers); corgi/vec ratio alongside.""" + by = {} + for r in records: + by.setdefault((r["workload"], r["backend"], r["workers"]), []).append(r) + workloads = sorted({k[0] for k in by}, key=lambda w: (w.startswith("aoc"), w)) + configs = sorted({(k[1], k[2]) for k in by}, key=lambda c: (c[1], c[0])) + lines = [] + for phase, key in (("initial epoch (load + first computation)", "load_s"), + ("per churn epoch (median over the run's rounds)", "round_s")): + if all(r.get(key) is None for r in records): + continue + lines.append(f"### {phase}\n") + head = ["workload"] + [f"{b} w{w}" for b, w in configs] + if any(b == "corgi" for b, _ in configs) and any(b == "vec" for b, _ in configs): + head += [f"vec/corgi w{w}" for w in sorted({w for _, w in configs})] + lines.append("| " + " | ".join(head) + " |") + lines.append("|" + "---|" * len(head)) + for wl in workloads: + row = [wl] + med = {} + for b, w in configs: + rs = [r[key] for r in by.get((wl, b, w), []) if r.get(key) is not None] + med[(b, w)] = statistics.median(rs) if rs else None + row.append(fmt(med[(b, w)]) + (f" (n={len(rs)})" if rs and len(rs) > 1 else "")) + if any(b == "corgi" for b, _ in configs) and any(b == "vec" for b, _ in configs): + for w in sorted({w for _, w in configs}): + v, c = med.get(("vec", w)), med.get(("corgi", w)) + row.append(f"{v / c:.2f}x" if v and c else "-") + lines.append("| " + " | ".join(row) + " |") + lines.append("") + with open(path, "w") as f: + f.write("\n".join(lines)) + return "\n".join(lines) + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--scale", default="small", choices=SCALES) + ap.add_argument("--backends", default="vec,corgi") + ap.add_argument("--workers", default="1") + ap.add_argument("--runs", type=int, default=3) + ap.add_argument("--only", help="comma-separated workload names") + ap.add_argument("--aoc", action="store_true", help="run the AoC parts instead of the graph workloads") + ap.add_argument("--profile", help="record one workload under samply instead of timing it") + ap.add_argument("--backend", help="backend for --profile", default="corgi") + ap.add_argument("--label", default="", help="suffix for the report file names") + ap.add_argument("--no-build", action="store_true") + args = ap.parse_args() + + if not args.no_build: + subprocess.run(["cargo", "build", "--release", "-p", "interactive", "--example", "ddir_server"], + cwd=ROOT, check=True) + rev = git("rev-parse", "--short", "HEAD") + dirty = bool(git("status", "--porcelain", "--", "interactive")) + stamp = dt.date.today().isoformat() + nodes, edges, churn, rounds = SCALES[args.scale] + workers = [int(w) for w in args.workers.split(",")] + + if args.profile: + os.makedirs(os.path.join(HERE, "reports", "profiles"), exist_ok=True) + w = workers[0] + out = os.path.join(HERE, "reports", "profiles", f"{stamp}-{args.profile}-{args.backend}-w{w}-{args.scale}.json.gz") + wrap = ["samply", "record", "--save-only", "-o", out, "--"] + print(f"recording {args.profile} on {args.backend} w{w} at {args.scale} -> {out}") + print(run_session(session(args.profile, nodes, edges, churn, rounds), args.backend, w, wrap=wrap)) + return + + records = [] + for backend in args.backends.split(","): + if args.aoc: + jobs = [(label, sess, None) for label, sess in aoc_sessions(backend)] + else: + names = args.only.split(",") if args.only else list(WORKLOADS) + jobs = [(n, session(n, nodes, edges, churn, rounds), rounds) for n in names] + for w in workers: + for label, sess, rnds in jobs: + for run in range(args.runs): + try: + ops, rows, ticks = run_session(sess, backend, w) + except Exception as e: # noqa: BLE001 — a failing workload is a result, not a crash + print(f"{label:>10} {backend:>5} w{w} run{run}: FAILED {e}", file=sys.stderr) + records.append({"workload": label, "backend": backend, "workers": w, "run": run, "error": str(e)}) + continue + load_s = ticks[0][1] if ticks else None + round_s = (ticks[1][1] / rnds) if (rnds and len(ticks) > 1) else None + rec = {"date": stamp, "rev": rev, "dirty": dirty, "scale": args.scale, + "workload": label, "backend": backend, "workers": w, "run": run, + "nodes": nodes, "edges": edges, "churn": churn, "rounds": rnds, + "ops": ops, "rows": rows, "load_s": load_s, "round_s": round_s, + "total_s": sum(t for _, t in ticks)} + records.append(rec) + print(f"{label:>10} {backend:>5} w{w} run{run}: load {fmt(load_s)}" + + (f", per round {fmt(round_s)}" if round_s else ""), file=sys.stderr) + + kind = "aoc" if args.aoc else args.scale + base = os.path.join(HERE, "reports", f"{stamp}-{rev}-{kind}{('-' + args.label) if args.label else ''}") + with open(base + ".jsonl", "w") as f: + for r in records: + f.write(json.dumps(r) + "\n") + print(summarize(records, base + ".md")) + print(f"\nwrote {base}.jsonl and .md", file=sys.stderr) + + +if __name__ == "__main__": + main() diff --git a/interactive/bench/reports/2026-09-04-d875d6e0-small.jsonl b/interactive/bench/reports/2026-09-04-d875d6e0-small.jsonl new file mode 100644 index 000000000..83d0ddd81 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-d875d6e0-small.jsonl @@ -0,0 +1,64 @@ +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.17954, "round_s": 0.010756, "total_s": 0.39466} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.18214, "round_s": 0.0108785, "total_s": 0.39971} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.016960000000000003, "round_s": 0.000959, "total_s": 0.036140000000000005} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.01724, "round_s": 0.000993, "total_s": 0.037099999999999994} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.12535, "round_s": 0.0009775, "total_s": 0.1449} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.12362000000000001, "round_s": 0.001003, "total_s": 0.14368} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.03034, "round_s": 0.0006019999999999999, "total_s": 0.04238} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.03087, "round_s": 0.000632, "total_s": 0.04351} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.04, "round_s": 0.003423, "total_s": 1.10846} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.04, "round_s": 0.0034465000000000003, "total_s": 1.10893} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.0018700000000000001, "round_s": 0.0010185, "total_s": 0.022240000000000003} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.0018000000000000002, "round_s": 0.001001, "total_s": 0.02182} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.018600000000000002, "round_s": 0.010502500000000001, "total_s": 0.22865000000000002} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.01857, "round_s": 0.0108465, "total_s": 0.23550000000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.30778, "round_s": 0.0015125, "total_s": 0.33803} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.30404000000000003, "round_s": 0.0015445, "total_s": 0.33493000000000006} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.05856, "round_s": 0.0065455, "total_s": 0.18947} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.058140000000000004, "round_s": 0.006760500000000001, "total_s": 0.19335000000000002} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.00666, "round_s": 0.0006839999999999999, "total_s": 0.02034} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.00962, "round_s": 0.0006900000000000001, "total_s": 0.023420000000000003} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.10035, "round_s": 0.001134, "total_s": 0.12303} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.1061, "round_s": 0.0011305, "total_s": 0.12871} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.00962, "round_s": 0.0005200000000000001, "total_s": 0.020020000000000003} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.00973, "round_s": 0.0005269999999999999, "total_s": 0.02027} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.3, "round_s": 0.003571, "total_s": 1.37142} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.35, "round_s": 0.0036119999999999998, "total_s": 1.4222400000000002} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.00454, "round_s": 0.000647, "total_s": 0.01748} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.00445, "round_s": 0.0006590000000000001, "total_s": 0.01763} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.01087, "round_s": 0.0041, "total_s": 0.09287000000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.0108, "round_s": 0.0040025, "total_s": 0.09085} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.33649, "round_s": 0.001831, "total_s": 0.37311} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.35267000000000004, "round_s": 0.0017865, "total_s": 0.3884} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.16369, "round_s": 0.0109315, "total_s": 0.38232} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.15925999999999998, "round_s": 0.010828, "total_s": 0.37582} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.01647, "round_s": 0.0011985, "total_s": 0.04044} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.01616, "round_s": 0.001182, "total_s": 0.0398} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.08774, "round_s": 0.0009519999999999999, "total_s": 0.10678} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.08673, "round_s": 0.000923, "total_s": 0.10519} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.027469999999999998, "round_s": 0.0008625000000000001, "total_s": 0.044719999999999996} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.02706, "round_s": 0.0008555, "total_s": 0.04417} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 0.96375, "round_s": 0.0034625000000000003, "total_s": 1.033} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.0, "round_s": 0.00358, "total_s": 1.0716} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.00236, "round_s": 0.0010895, "total_s": 0.02415} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.0024, "round_s": 0.001115, "total_s": 0.0247} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.03015, "round_s": 0.0165895, "total_s": 0.36194000000000004} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.0294, "round_s": 0.016466, "total_s": 0.35872} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.30376, "round_s": 0.001482, "total_s": 0.3334} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.3033, "round_s": 0.0014895, "total_s": 0.33309} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.06686, "round_s": 0.008005500000000002, "total_s": 0.22697000000000003} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.06716, "round_s": 0.008022, "total_s": 0.2276} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.00661, "round_s": 0.001003, "total_s": 0.02667} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.00664, "round_s": 0.0010025000000000001, "total_s": 0.026690000000000002} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.09142, "round_s": 0.0010855, "total_s": 0.11313000000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.08844, "round_s": 0.0011095, "total_s": 0.11063} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.01177, "round_s": 0.0008604999999999999, "total_s": 0.02898} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.01132, "round_s": 0.0008369999999999999, "total_s": 0.028059999999999998} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.23, "round_s": 0.0038814999999999995, "total_s": 1.30763} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.25, "round_s": 0.0038915, "total_s": 1.32783} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.00235, "round_s": 0.0007375000000000001, "total_s": 0.0171} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.0027, "round_s": 0.0007495, "total_s": 0.01769} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.01298, "round_s": 0.0068015, "total_s": 0.14901} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.01286, "round_s": 0.0067894999999999995, "total_s": 0.14865} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.33669, "round_s": 0.0017725000000000002, "total_s": 0.37213999999999997} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.35972000000000004, "round_s": 0.001749, "total_s": 0.39470000000000005} diff --git a/interactive/bench/reports/2026-09-04-d875d6e0-small.md b/interactive/bench/reports/2026-09-04-d875d6e0-small.md new file mode 100644 index 000000000..a9e6523ff --- /dev/null +++ b/interactive/bench/reports/2026-09-04-d875d6e0-small.md @@ -0,0 +1,25 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 2.4ms (n=2) | 1.8ms (n=2) | 2.5ms (n=2) | 4.5ms (n=2) | 0.77x | 1.78x | +| ast | 29.8ms (n=2) | 18.6ms (n=2) | 12.9ms (n=2) | 10.8ms (n=2) | 0.62x | 0.84x | +| kcore | 87.2ms (n=2) | 124.5ms (n=2) | 89.9ms (n=2) | 103.2ms (n=2) | 1.43x | 1.15x | +| reach | 16.3ms (n=2) | 17.1ms (n=2) | 6.6ms (n=2) | 8.1ms (n=2) | 1.05x | 1.23x | +| scc | 161.5ms (n=2) | 180.8ms (n=2) | 67.0ms (n=2) | 58.4ms (n=2) | 1.12x | 0.87x | +| stable | 27.3ms (n=2) | 30.6ms (n=2) | 11.5ms (n=2) | 9.7ms (n=2) | 1.12x | 0.84x | +| tour | 981.9ms (n=2) | 1.04s (n=2) | 1.24s (n=2) | 1.33s (n=2) | 1.06x | 1.07x | +| unnest | 303.5ms (n=2) | 305.9ms (n=2) | 348.2ms (n=2) | 344.6ms (n=2) | 1.01x | 0.99x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 1.1ms (n=2) | 1.0ms (n=2) | 744µs (n=2) | 653µs (n=2) | 0.92x | 0.88x | +| ast | 16.5ms (n=2) | 10.7ms (n=2) | 6.8ms (n=2) | 4.1ms (n=2) | 0.65x | 0.60x | +| kcore | 938µs (n=2) | 990µs (n=2) | 1.1ms (n=2) | 1.1ms (n=2) | 1.06x | 1.03x | +| reach | 1.2ms (n=2) | 976µs (n=2) | 1.0ms (n=2) | 687µs (n=2) | 0.82x | 0.69x | +| scc | 10.9ms (n=2) | 10.8ms (n=2) | 8.0ms (n=2) | 6.7ms (n=2) | 0.99x | 0.83x | +| stable | 859µs (n=2) | 617µs (n=2) | 849µs (n=2) | 524µs (n=2) | 0.72x | 0.62x | +| tour | 3.5ms (n=2) | 3.4ms (n=2) | 3.9ms (n=2) | 3.6ms (n=2) | 0.98x | 0.92x | +| unnest | 1.5ms (n=2) | 1.5ms (n=2) | 1.8ms (n=2) | 1.8ms (n=2) | 1.03x | 1.03x | diff --git a/interactive/bench/reports/2026-09-04-scc-corgi-profile.md b/interactive/bench/reports/2026-09-04-scc-corgi-profile.md new file mode 100644 index 000000000..fd9bf9444 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-scc-corgi-profile.md @@ -0,0 +1,53 @@ +# Where scc's time goes on corgi (medium, 1 worker) + +Profile: `bench.py --profile scc --backend corgi --scale medium` at d875d6e0, +samply at 1kHz, thread `timely:work-0`. 100k nodes / 200k edges, then 50 epochs +of 100 replaced edges. Initial epoch 1.89s, churn 2.81s (56ms per epoch). + +## Churn epochs (2.77s, 2770 samples) + +| where | share | what it is | +|---|---|---| +| `ProxyReduceTactic::retire` | 48% | the corgi reduce (`min` in both fixpoints) | +| ├ `collect_present` | 19% | gathering each changed key's rows; `find_ranges` is 14.5% of the epoch on its own | +| ├ `merge_present` | 6% | k-way merge of the selected runs (`BinaryHeap::sift_up` 2.3%) | +| ├ `Sweep::next_crossing` | 4% | the time sweep | +| └ retire self + `SmallVec::from_iter` | 11% | per-key bookkeeping and allocation | +| spine merges via `set_physical_compaction` | 29% | `MergeVariant::work` on the corgi arrangements | +| ├ `CorgiChunk::advance` | 18% | `advance_by(frontier)` per row: `ColTimes::get` materializes a `Product`, `join` allocates a `SmallVec` | +| ├ `CorgiChunk::merge` | 6% | `compare_pairs`, `ColTimes::push_range` | +| └ `pack` | 3% | | +| `join_with_tactic` | 19% | the two joins per fixpoint; `ProxyJoinIter::next` 7.5% | +| allocation (`mi_malloc_aligned`, `mi_free`, `finish_grow`, `try_grow`) | ~17% self, spread over the above | | + +## Initial epoch (1.9s) + +| where | share | +|---|---| +| `arrange_core` (batcher `merge_by` 21%, `CorgiChunk::merge` 19%, spine merges 16%) | 48% | +| `ProxyReduceTactic::retire` | 27% | +| `join_with_tactic` | 11% | +| `compare_pairs` (self) | 6% | + +## Candidates, in the order I would try them + +1. **`find_ranges` seeks from scratch for every needle.** `corgi::arrange::find_ranges` + runs one `partition_point` over the whole haystack per needle, so a sorted + needle set costs n·log(h). The needles (`changed`) are ascending, so a + galloping search from the previous hit costs n·log(h/n). 14.5% of a churn + epoch is in that loop. Lives in corgi (WIP repo), not here. +2. **`CorgiChunk::advance` re-derives the same advanced time per row.** Times in + a batch repeat heavily (one epoch, a handful of iterations), but every row + pays `get` + `advance_by` + the allocations inside `PointStamp::join`. + Memoizing `advance_by` per distinct time ref, or advancing the SoA column + without materializing `T`, removes most of the 18%. +3. **Merges spend their time comparing and copying times.** `ColTimes::push_range` + and `compare_pairs` are the merge's cost; the earlier `compare_at` fix went + here too. Worth checking whether `push_range` extends in one `extend_from` + per range or pushes per element. +4. The reduce's own allocation per key (`SmallVec::from_iter` 7% of retire) is + the same pattern as the earlier `compare_at` batch-of-one: an allocation on + a per-key path. + +The export arrangement the server keeps (row-based `ValSpine` at host time) +does not show up: the corgi arrangements inside the program dominate. From 54ba85c9da7ef2e034dbd0ef8e784abf96c7c6c1 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 09:35:47 -0400 Subject: [PATCH 02/25] DDIR bench: medium-scale sweep at d875d6e0 (vec/corgi, 1 and 4 workers) Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../reports/2026-09-04-d875d6e0-medium.jsonl | 96 +++++++++++++++++++ .../reports/2026-09-04-d875d6e0-medium.md | 25 +++++ 2 files changed, 121 insertions(+) create mode 100644 interactive/bench/reports/2026-09-04-d875d6e0-medium.jsonl create mode 100644 interactive/bench/reports/2026-09-04-d875d6e0-medium.md diff --git a/interactive/bench/reports/2026-09-04-d875d6e0-medium.jsonl b/interactive/bench/reports/2026-09-04-d875d6e0-medium.jsonl new file mode 100644 index 000000000..d1309bd15 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-d875d6e0-medium.jsonl @@ -0,0 +1,96 @@ +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.5, "round_s": 0.10980000000000001, "total_s": 7.99} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.51, "round_s": 0.1094, "total_s": 7.9799999999999995} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.52, "round_s": 0.1096, "total_s": 8.0} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19865000000000002, "round_s": 0.0137404, "total_s": 0.88567} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19349000000000002, "round_s": 0.01391, "total_s": 0.8889900000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19494999999999998, "round_s": 0.013818599999999999, "total_s": 0.8858799999999999} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.44, "round_s": 0.011531199999999998, "total_s": 2.01656} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.43, "round_s": 0.0114626, "total_s": 2.00313} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.43, "round_s": 0.011475200000000001, "total_s": 2.0037599999999998} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.39123, "round_s": 0.0080856, "total_s": 0.7955099999999999} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.38848000000000005, "round_s": 0.0081038, "total_s": 0.7936700000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.3932, "round_s": 0.0081352, "total_s": 0.79996} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.96, "round_s": 0.0416, "total_s": 13.040000000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.91, "round_s": 0.0418, "total_s": 13.0} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 11.25, "round_s": 0.0426, "total_s": 13.379999999999999} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02183, "round_s": 0.012571400000000002, "total_s": 0.6504000000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02159, "round_s": 0.0123232, "total_s": 0.6377499999999999} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02159, "round_s": 0.012378400000000001, "total_s": 0.64051} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27352, "round_s": 0.1698, "total_s": 8.76352} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27938999999999997, "round_s": 0.17, "total_s": 8.77939} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.26994999999999997, "round_s": 0.17, "total_s": 8.76995} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.15, "round_s": 0.0165758, "total_s": 3.97879} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.29, "round_s": 0.0169996, "total_s": 4.13998} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.22, "round_s": 0.0169516, "total_s": 4.06758} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.72336, "round_s": 0.046799999999999994, "total_s": 3.06336} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.84048, "round_s": 0.046799999999999994, "total_s": 3.1804799999999998} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.73463, "round_s": 0.047, "total_s": 3.08463} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.05942, "round_s": 0.0053164, "total_s": 0.32524} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.06039, "round_s": 0.0053942, "total_s": 0.3301} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.05841, "round_s": 0.0053344, "total_s": 0.32513000000000003} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.15, "round_s": 0.0102036, "total_s": 1.66018} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.19, "round_s": 0.010258800000000002, "total_s": 1.70294} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.07, "round_s": 0.0103444, "total_s": 1.58722} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.1055, "round_s": 0.0034917999999999998, "total_s": 0.28009} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.10616, "round_s": 0.0034306000000000002, "total_s": 0.27769} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.10583000000000001, "round_s": 0.003431, "total_s": 0.27738} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 13.66, "round_s": 0.0334, "total_s": 15.33} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 13.08, "round_s": 0.0336, "total_s": 14.76} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 13.39, "round_s": 0.0336, "total_s": 15.07} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.016460000000000002, "round_s": 0.008149, "total_s": 0.42391} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.01548, "round_s": 0.0080684, "total_s": 0.4189} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.015210000000000001, "round_s": 0.007964, "total_s": 0.41341} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14387, "round_s": 0.1052, "total_s": 5.4038699999999995} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14801, "round_s": 0.1052, "total_s": 5.40801} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.13917, "round_s": 0.1052, "total_s": 5.39917} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.62, "round_s": 0.0176904, "total_s": 4.50452} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.45, "round_s": 0.0174426, "total_s": 4.3221300000000005} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.46, "round_s": 0.017595, "total_s": 4.33975} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.0, "round_s": 0.058600000000000006, "total_s": 4.93} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.0, "round_s": 0.0588, "total_s": 4.9399999999999995} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.01, "round_s": 0.058600000000000006, "total_s": 4.9399999999999995} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18, "round_s": 0.010178800000000002, "total_s": 0.6889400000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.17927, "round_s": 0.010164199999999998, "total_s": 0.68748} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18035, "round_s": 0.0101588, "total_s": 0.6882900000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.98592, "round_s": 0.0085226, "total_s": 1.41205} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.98093, "round_s": 0.008472, "total_s": 1.40453} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.96709, "round_s": 0.008451199999999999, "total_s": 1.38965} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.31721, "round_s": 0.0062902, "total_s": 0.6317200000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.31594, "round_s": 0.006199, "total_s": 0.6258900000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.32075, "round_s": 0.006233200000000001, "total_s": 0.63241} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.39, "round_s": 0.034, "total_s": 12.09} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.57, "round_s": 0.035, "total_s": 12.32} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.32, "round_s": 0.0342, "total_s": 12.030000000000001} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.027379999999999998, "round_s": 0.013637000000000002, "total_s": 0.70923} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02743, "round_s": 0.0135668, "total_s": 0.70577} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.027649999999999997, "round_s": 0.013756199999999998, "total_s": 0.7154599999999999} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27144999999999997, "round_s": 0.17120000000000002, "total_s": 8.83145} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27042000000000005, "round_s": 0.1702, "total_s": 8.78042} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.26879000000000003, "round_s": 0.16620000000000001, "total_s": 8.57879} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.26, "round_s": 0.0163992, "total_s": 4.07996} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.28, "round_s": 0.0165248, "total_s": 4.10624} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.25, "round_s": 0.016286600000000002, "total_s": 4.06433} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.6766300000000001, "round_s": 0.032799999999999996, "total_s": 2.31663} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.6708, "round_s": 0.032799999999999996, "total_s": 2.3108} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.67898, "round_s": 0.0326, "total_s": 2.30898} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.05969, "round_s": 0.004994800000000001, "total_s": 0.30943000000000004} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.059430000000000004, "round_s": 0.0049608000000000005, "total_s": 0.30747} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.0593, "round_s": 0.0049716000000000005, "total_s": 0.30788000000000004} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.9749, "round_s": 0.0082602, "total_s": 1.38791} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.97181, "round_s": 0.0082676, "total_s": 1.38519} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.94757, "round_s": 0.008459600000000001, "total_s": 1.3705500000000002} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.10781, "round_s": 0.0044534, "total_s": 0.33048} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.11093000000000001, "round_s": 0.0044318000000000005, "total_s": 0.33252000000000004} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.11284000000000001, "round_s": 0.0044378, "total_s": 0.33473} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 12.44, "round_s": 0.0304, "total_s": 13.959999999999999} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 12.41, "round_s": 0.0308, "total_s": 13.95} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 12.56, "round_s": 0.0302, "total_s": 14.07} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.01697, "round_s": 0.008468400000000001, "total_s": 0.44039} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02194, "round_s": 0.0084338, "total_s": 0.44363} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.01722, "round_s": 0.008546, "total_s": 0.44452} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14895, "round_s": 0.0728, "total_s": 3.7889500000000003} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.20765, "round_s": 0.0728, "total_s": 3.8476500000000002} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.148, "round_s": 0.0726, "total_s": 3.778} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.61, "round_s": 0.0176132, "total_s": 4.49066} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.62, "round_s": 0.0175384, "total_s": 4.49692} +{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.53, "round_s": 0.0178234, "total_s": 4.42117} diff --git a/interactive/bench/reports/2026-09-04-d875d6e0-medium.md b/interactive/bench/reports/2026-09-04-d875d6e0-medium.md new file mode 100644 index 000000000..a482f5e4f --- /dev/null +++ b/interactive/bench/reports/2026-09-04-d875d6e0-medium.md @@ -0,0 +1,25 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 27.4ms (n=3) | 21.6ms (n=3) | 17.2ms (n=3) | 15.5ms (n=3) | 0.79x | 0.90x | +| ast | 270.4ms (n=3) | 273.5ms (n=3) | 148.9ms (n=3) | 143.9ms (n=3) | 1.01x | 0.97x | +| kcore | 980.9ms (n=3) | 1.43s (n=3) | 971.8ms (n=3) | 1.15s (n=3) | 1.46x | 1.18x | +| reach | 180.0ms (n=3) | 194.9ms (n=3) | 59.4ms (n=3) | 59.4ms (n=3) | 1.08x | 1.00x | +| scc | 2.00s (n=3) | 2.51s (n=3) | 676.6ms (n=3) | 734.6ms (n=3) | 1.25x | 1.09x | +| stable | 317.2ms (n=3) | 391.2ms (n=3) | 110.9ms (n=3) | 105.8ms (n=3) | 1.23x | 0.95x | +| tour | 10.39s (n=3) | 10.96s (n=3) | 12.44s (n=3) | 13.39s (n=3) | 1.05x | 1.08x | +| unnest | 3.26s (n=3) | 3.22s (n=3) | 3.61s (n=3) | 3.46s (n=3) | 0.99x | 0.96x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 13.6ms (n=3) | 12.4ms (n=3) | 8.5ms (n=3) | 8.1ms (n=3) | 0.91x | 0.95x | +| ast | 170.2ms (n=3) | 170.0ms (n=3) | 72.8ms (n=3) | 105.2ms (n=3) | 1.00x | 1.45x | +| kcore | 8.5ms (n=3) | 11.5ms (n=3) | 8.3ms (n=3) | 10.3ms (n=3) | 1.35x | 1.24x | +| reach | 10.2ms (n=3) | 13.8ms (n=3) | 5.0ms (n=3) | 5.3ms (n=3) | 1.36x | 1.07x | +| scc | 58.6ms (n=3) | 109.6ms (n=3) | 32.8ms (n=3) | 46.8ms (n=3) | 1.87x | 1.43x | +| stable | 6.2ms (n=3) | 8.1ms (n=3) | 4.4ms (n=3) | 3.4ms (n=3) | 1.30x | 0.77x | +| tour | 34.2ms (n=3) | 41.8ms (n=3) | 30.4ms (n=3) | 33.6ms (n=3) | 1.22x | 1.11x | +| unnest | 16.4ms (n=3) | 17.0ms (n=3) | 17.6ms (n=3) | 17.6ms (n=3) | 1.03x | 1.00x | From f6654ae29d2419c5c358ce89f756aabdb565c12b Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 09:36:53 -0400 Subject: [PATCH 03/25] DDIR bench: AoC parts on both backends at a452c428 Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../reports/2026-09-04-a452c428-aoc.jsonl | 198 ++++++++++++++++++ .../bench/reports/2026-09-04-a452c428-aoc.md | 37 ++++ 2 files changed, 235 insertions(+) create mode 100644 interactive/bench/reports/2026-09-04-a452c428-aoc.jsonl create mode 100644 interactive/bench/reports/2026-09-04-a452c428-aoc.md diff --git a/interactive/bench/reports/2026-09-04-a452c428-aoc.jsonl b/interactive/bench/reports/2026-09-04-a452c428-aoc.jsonl new file mode 100644 index 000000000..c025259c7 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-a452c428-aoc.jsonl @@ -0,0 +1,198 @@ +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00015396, "round_s": null, "total_s": 0.00015396} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00014541999999999997, "round_s": null, "total_s": 0.00014541999999999997} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00014333, "round_s": null, "total_s": 0.00014333} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00039554, "round_s": null, "total_s": 0.00039554} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00041975, "round_s": null, "total_s": 0.00041975} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00040295999999999995, "round_s": null, "total_s": 0.00040295999999999995} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00010782999999999999, "round_s": null, "total_s": 0.00010782999999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00011592, "round_s": null, "total_s": 0.00011592} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00010975, "round_s": null, "total_s": 0.00010975} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00016612, "round_s": null, "total_s": 0.00016612} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00016866999999999997, "round_s": null, "total_s": 0.00016866999999999997} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00018041999999999998, "round_s": null, "total_s": 0.00018041999999999998} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00167, "round_s": null, "total_s": 0.00167} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00176, "round_s": null, "total_s": 0.00176} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00186, "round_s": null, "total_s": 0.00186} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00166, "round_s": null, "total_s": 0.00166} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00165, "round_s": null, "total_s": 0.00165} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00175, "round_s": null, "total_s": 0.00175} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00042988, "round_s": null, "total_s": 0.00042988} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.0004295, "round_s": null, "total_s": 0.0004295} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00045237999999999995, "round_s": null, "total_s": 0.00045237999999999995} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00111, "round_s": null, "total_s": 0.00111} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00114, "round_s": null, "total_s": 0.00114} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00115, "round_s": null, "total_s": 0.00115} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00327, "round_s": null, "total_s": 0.00327} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00365, "round_s": null, "total_s": 0.00365} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.0036000000000000003, "round_s": null, "total_s": 0.0036000000000000003} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.02457, "round_s": null, "total_s": 0.02457} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01824, "round_s": null, "total_s": 0.01824} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01561, "round_s": null, "total_s": 0.01561} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00174, "round_s": null, "total_s": 0.00174} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.0017900000000000001, "round_s": null, "total_s": 0.0017900000000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.0018000000000000002, "round_s": null, "total_s": 0.0018000000000000002} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.0004915399999999999, "round_s": null, "total_s": 0.0004915399999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00049683, "round_s": null, "total_s": 0.00049683} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.0005082099999999999, "round_s": null, "total_s": 0.0005082099999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00055467, "round_s": null, "total_s": 0.00055467} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.0005864199999999999, "round_s": null, "total_s": 0.0005864199999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00058571, "round_s": null, "total_s": 0.00058571} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.01636, "round_s": null, "total_s": 0.01636} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.0155, "round_s": null, "total_s": 0.0155} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.015560000000000001, "round_s": null, "total_s": 0.015560000000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.04373, "round_s": null, "total_s": 0.04373} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.0436, "round_s": null, "total_s": 0.0436} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.0438, "round_s": null, "total_s": 0.0438} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 1.0, "round_s": null, "total_s": 1.0} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.99614, "round_s": null, "total_s": 0.99614} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.9973500000000001, "round_s": null, "total_s": 0.9973500000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 1.01, "round_s": null, "total_s": 1.01} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 1.02, "round_s": null, "total_s": 1.02} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 1.0, "round_s": null, "total_s": 1.0} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00521, "round_s": null, "total_s": 0.00521} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.005110000000000001, "round_s": null, "total_s": 0.005110000000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00543, "round_s": null, "total_s": 0.00543} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.01776, "round_s": null, "total_s": 0.01776} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.01744, "round_s": null, "total_s": 0.01744} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.0176, "round_s": null, "total_s": 0.0176} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00038279, "round_s": null, "total_s": 0.00038279} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00037845999999999995, "round_s": null, "total_s": 0.00037845999999999995} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00041516999999999997, "round_s": null, "total_s": 0.00041516999999999997} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14384, "round_s": null, "total_s": 0.14384} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14482, "round_s": null, "total_s": 0.14482} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14469, "round_s": null, "total_s": 0.14469} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00094025, "round_s": null, "total_s": 0.00094025} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00092392, "round_s": null, "total_s": 0.00092392} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.0009466699999999999, "round_s": null, "total_s": 0.0009466699999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00049833, "round_s": null, "total_s": 0.00049833} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00049429, "round_s": null, "total_s": 0.00049429} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00049246, "round_s": null, "total_s": 0.00049246} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0015400000000000001, "round_s": null, "total_s": 0.0015400000000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0015, "round_s": null, "total_s": 0.0015} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0015500000000000002, "round_s": null, "total_s": 0.0015500000000000002} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.09355, "round_s": null, "total_s": 0.09355} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.09366, "round_s": null, "total_s": 0.09366} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.09274, "round_s": null, "total_s": 0.09274} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.04771, "round_s": null, "total_s": 0.04771} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.0474, "round_s": null, "total_s": 0.0474} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.04734000000000001, "round_s": null, "total_s": 0.04734000000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05604, "round_s": null, "total_s": 0.05604} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.055670000000000004, "round_s": null, "total_s": 0.055670000000000004} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05644, "round_s": null, "total_s": 0.05644} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00141, "round_s": null, "total_s": 0.00141} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00147, "round_s": null, "total_s": 0.00147} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00141, "round_s": null, "total_s": 0.00141} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00143, "round_s": null, "total_s": 0.00143} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.0015, "round_s": null, "total_s": 0.0015} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00149, "round_s": null, "total_s": 0.00149} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00034646, "round_s": null, "total_s": 0.00034646} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00035549999999999997, "round_s": null, "total_s": 0.00035549999999999997} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00036908, "round_s": null, "total_s": 0.00036908} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0007467899999999999, "round_s": null, "total_s": 0.0007467899999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0007256699999999999, "round_s": null, "total_s": 0.0007256699999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0007697499999999999, "round_s": null, "total_s": 0.0007697499999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00039283, "round_s": null, "total_s": 0.00039283} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00040511999999999997, "round_s": null, "total_s": 0.00040511999999999997} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00042958, "round_s": null, "total_s": 0.00042958} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00061483, "round_s": null, "total_s": 0.00061483} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00059462, "round_s": null, "total_s": 0.00059462} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00061004, "round_s": null, "total_s": 0.00061004} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00030979, "round_s": null, "total_s": 0.00030979} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00034942, "round_s": null, "total_s": 0.00034942} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00027145999999999995, "round_s": null, "total_s": 0.00027145999999999995} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.0006200800000000001, "round_s": null, "total_s": 0.0006200800000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.000629, "round_s": null, "total_s": 0.000629} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.0006439999999999999, "round_s": null, "total_s": 0.0006439999999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00022853999999999998, "round_s": null, "total_s": 0.00022853999999999998} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00023871, "round_s": null, "total_s": 0.00023871} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00022029, "round_s": null, "total_s": 0.00022029} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00033092, "round_s": null, "total_s": 0.00033092} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00034317, "round_s": null, "total_s": 0.00034317} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00034779, "round_s": null, "total_s": 0.00034779} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.0020800000000000003, "round_s": null, "total_s": 0.0020800000000000003} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00192, "round_s": null, "total_s": 0.00192} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00196, "round_s": null, "total_s": 0.00196} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00182, "round_s": null, "total_s": 0.00182} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00196, "round_s": null, "total_s": 0.00196} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.0018100000000000002, "round_s": null, "total_s": 0.0018100000000000002} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00053979, "round_s": null, "total_s": 0.00053979} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00054667, "round_s": null, "total_s": 0.00054667} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.0005839199999999999, "round_s": null, "total_s": 0.0005839199999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.0012, "round_s": null, "total_s": 0.0012} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00133, "round_s": null, "total_s": 0.00133} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00132, "round_s": null, "total_s": 0.00132} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.0024300000000000003, "round_s": null, "total_s": 0.0024300000000000003} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.0022400000000000002, "round_s": null, "total_s": 0.0022400000000000002} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.0024300000000000003, "round_s": null, "total_s": 0.0024300000000000003} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01299, "round_s": null, "total_s": 0.01299} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01125, "round_s": null, "total_s": 0.01125} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.00993, "round_s": null, "total_s": 0.00993} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00309, "round_s": null, "total_s": 0.00309} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00296, "round_s": null, "total_s": 0.00296} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00282, "round_s": null, "total_s": 0.00282} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.006240000000000001, "round_s": null, "total_s": 0.006240000000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00615, "round_s": null, "total_s": 0.00615} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00613, "round_s": null, "total_s": 0.00613} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00618, "round_s": null, "total_s": 0.00618} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00615, "round_s": null, "total_s": 0.00615} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00618, "round_s": null, "total_s": 0.00618} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.019760000000000003, "round_s": null, "total_s": 0.019760000000000003} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.019850000000000003, "round_s": null, "total_s": 0.019850000000000003} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.019719999999999998, "round_s": null, "total_s": 0.019719999999999998} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.05017, "round_s": null, "total_s": 0.05017} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.04979, "round_s": null, "total_s": 0.04979} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.049960000000000004, "round_s": null, "total_s": 0.049960000000000004} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.89064, "round_s": null, "total_s": 0.89064} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.88829, "round_s": null, "total_s": 0.88829} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.88828, "round_s": null, "total_s": 0.88828} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.88954, "round_s": null, "total_s": 0.88954} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.88701, "round_s": null, "total_s": 0.88701} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.8884299999999999, "round_s": null, "total_s": 0.8884299999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00294, "round_s": null, "total_s": 0.00294} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00292, "round_s": null, "total_s": 0.00292} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.0029, "round_s": null, "total_s": 0.0029} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.00802, "round_s": null, "total_s": 0.00802} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.0079, "round_s": null, "total_s": 0.0079} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.0081, "round_s": null, "total_s": 0.0081} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00041733, "round_s": null, "total_s": 0.00041733} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00042692, "round_s": null, "total_s": 0.00042692} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00044104, "round_s": null, "total_s": 0.00044104} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.21416, "round_s": null, "total_s": 0.21416} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.21337, "round_s": null, "total_s": 0.21337} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.21356, "round_s": null, "total_s": 0.21356} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.000811, "round_s": null, "total_s": 0.000811} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.0008335399999999999, "round_s": null, "total_s": 0.0008335399999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00085946, "round_s": null, "total_s": 0.00085946} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00047804, "round_s": null, "total_s": 0.00047804} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00048829, "round_s": null, "total_s": 0.00048829} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00049071, "round_s": null, "total_s": 0.00049071} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.00197, "round_s": null, "total_s": 0.00197} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.00186, "round_s": null, "total_s": 0.00186} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.002, "round_s": null, "total_s": 0.002} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.11218000000000002, "round_s": null, "total_s": 0.11218000000000002} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.10958, "round_s": null, "total_s": 0.10958} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.11123999999999999, "round_s": null, "total_s": 0.11123999999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.06141, "round_s": null, "total_s": 0.06141} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.06168, "round_s": null, "total_s": 0.06168} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.06147, "round_s": null, "total_s": 0.06147} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.06147, "round_s": null, "total_s": 0.06147} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.06187, "round_s": null, "total_s": 0.06187} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.06128, "round_s": null, "total_s": 0.06128} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00316, "round_s": null, "total_s": 0.00316} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00314, "round_s": null, "total_s": 0.00314} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00321, "round_s": null, "total_s": 0.00321} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00313, "round_s": null, "total_s": 0.00313} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00315, "round_s": null, "total_s": 0.00315} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00318, "round_s": null, "total_s": 0.00318} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.0008896199999999999, "round_s": null, "total_s": 0.0008896199999999999} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00092658, "round_s": null, "total_s": 0.00092658} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00098658, "round_s": null, "total_s": 0.00098658} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.00584, "round_s": null, "total_s": 0.00584} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.00581, "round_s": null, "total_s": 0.00581} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.005730000000000001, "round_s": null, "total_s": 0.005730000000000001} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00045832999999999996, "round_s": null, "total_s": 0.00045832999999999996} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00045292, "round_s": null, "total_s": 0.00045292} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00052362, "round_s": null, "total_s": 0.00052362} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00062425, "round_s": null, "total_s": 0.00062425} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00062762, "round_s": null, "total_s": 0.00062762} +{"date": "2026-09-04", "rev": "a452c428", "dirty": false, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00064821, "round_s": null, "total_s": 0.00064821} diff --git a/interactive/bench/reports/2026-09-04-a452c428-aoc.md b/interactive/bench/reports/2026-09-04-a452c428-aoc.md new file mode 100644 index 000000000..b2313451a --- /dev/null +++ b/interactive/bench/reports/2026-09-04-a452c428-aoc.md @@ -0,0 +1,37 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | vec/corgi w1 | +|---|---|---|---| +| aoc01p1 | 310µs (n=3) | 145µs (n=3) | 0.47x | +| aoc01p2 | 629µs (n=3) | 403µs (n=3) | 0.64x | +| aoc02p1 | 229µs (n=3) | 110µs (n=3) | 0.48x | +| aoc02p2 | 343µs (n=3) | 169µs (n=3) | 0.49x | +| aoc03p1 | 2.0ms (n=3) | 1.8ms (n=3) | 0.90x | +| aoc03p2 | 1.8ms (n=3) | 1.7ms (n=3) | 0.91x | +| aoc04p1 | 547µs (n=3) | 430µs (n=3) | 0.79x | +| aoc04p2 | 1.3ms (n=3) | 1.1ms (n=3) | 0.86x | +| aoc05p1 | 2.4ms (n=3) | 3.6ms (n=3) | 1.48x | +| aoc05p2 | 11.2ms (n=3) | 18.2ms (n=3) | 1.62x | +| aoc06p1 | 3.0ms (n=3) | 1.8ms (n=3) | 0.60x | +| aoc07p1 | 6.2ms (n=3) | 497µs (n=3) | 0.08x | +| aoc07p2 | 6.2ms (n=3) | 586µs (n=3) | 0.09x | +| aoc10p1 | 19.8ms (n=3) | 15.6ms (n=3) | 0.79x | +| aoc10p2 | 50.0ms (n=3) | 43.7ms (n=3) | 0.88x | +| aoc11p1 | 888.3ms (n=3) | 997.4ms (n=3) | 1.12x | +| aoc11p2 | 888.4ms (n=3) | 1.01s (n=3) | 1.14x | +| aoc13p1 | 2.9ms (n=3) | 5.2ms (n=3) | 1.78x | +| aoc13p2 | 8.0ms (n=3) | 17.6ms (n=3) | 2.19x | +| aoc14p1 | 427µs (n=3) | 383µs (n=3) | 0.90x | +| aoc14p2 | 213.6ms (n=3) | 144.7ms (n=3) | 0.68x | +| aoc15p1 | 834µs (n=3) | 940µs (n=3) | 1.13x | +| aoc15p2 | 488µs (n=3) | 494µs (n=3) | 1.01x | +| aoc16p1 | 2.0ms (n=3) | 1.5ms (n=3) | 0.78x | +| aoc16p2 | 111.2ms (n=3) | 93.5ms (n=3) | 0.84x | +| aoc17p1 | 61.5ms (n=3) | 47.4ms (n=3) | 0.77x | +| aoc17p2 | 61.5ms (n=3) | 56.0ms (n=3) | 0.91x | +| aoc18p1 | 3.2ms (n=3) | 1.4ms (n=3) | 0.45x | +| aoc18p2 | 3.1ms (n=3) | 1.5ms (n=3) | 0.47x | +| aoc19p1 | 927µs (n=3) | 355µs (n=3) | 0.38x | +| aoc19p2 | 5.8ms (n=3) | 747µs (n=3) | 0.13x | +| aoc22p1 | 458µs (n=3) | 405µs (n=3) | 0.88x | +| aoc22p2 | 628µs (n=3) | 610µs (n=3) | 0.97x | From 80b3bb7477882608d8a1f04c8b7ff82bbbabe19e Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 09:50:17 -0400 Subject: [PATCH 04/25] DDIR bench: strip inspect taps for timing; medium sweep redone; findings so far unnest's 3.2s "load" was 91% stderr writes from its inspect tap, tour's 10s likewise. The harness now times stripped copies of the programs. Findings across the scc/ast/unnest profiles and the sweeps are in reports/2026-09-04-findings.md. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/.gitignore | 1 + interactive/bench/README.md | 5 + interactive/bench/bench.py | 18 +++- .../reports/2026-09-04-d875d6e0-medium.jsonl | 96 ------------------- .../reports/2026-09-04-d875d6e0-medium.md | 25 ----- .../reports/2026-09-04-d875d6e0-small.jsonl | 64 ------------- .../reports/2026-09-04-d875d6e0-small.md | 25 ----- .../reports/2026-09-04-f5362807-medium.jsonl | 96 +++++++++++++++++++ .../reports/2026-09-04-f5362807-medium.md | 25 +++++ .../bench/reports/2026-09-04-findings.md | 67 +++++++++++++ 10 files changed, 211 insertions(+), 211 deletions(-) delete mode 100644 interactive/bench/reports/2026-09-04-d875d6e0-medium.jsonl delete mode 100644 interactive/bench/reports/2026-09-04-d875d6e0-medium.md delete mode 100644 interactive/bench/reports/2026-09-04-d875d6e0-small.jsonl delete mode 100644 interactive/bench/reports/2026-09-04-d875d6e0-small.md create mode 100644 interactive/bench/reports/2026-09-04-f5362807-medium.jsonl create mode 100644 interactive/bench/reports/2026-09-04-f5362807-medium.md create mode 100644 interactive/bench/reports/2026-09-04-findings.md diff --git a/interactive/bench/.gitignore b/interactive/bench/.gitignore index ac02ca267..5f2a1abd1 100644 --- a/interactive/bench/.gitignore +++ b/interactive/bench/.gitignore @@ -1 +1,2 @@ reports/profiles/ +.tmp/ diff --git a/interactive/bench/README.md b/interactive/bench/README.md index 8db36348c..19612cf60 100644 --- a/interactive/bench/README.md +++ b/interactive/bench/README.md @@ -41,6 +41,11 @@ deterministic (`seed=0`), so two runs at one revision see the same rows. server maintains for `peek`/`import` **is** included; it is part of running on the server. +- The graph workloads run **without their `| inspect(..)` taps** (a stripped + copy of each program is written to `bench/.tmp/`). The taps print every row + they see; unnest's tap on 200k rows was 90% of its "load" time, one + unbuffered stderr write per row. They are for reading, not for timing. + Medians over `--runs` are reported; the JSONL keeps every run. Single runs are not comparable across machines or with other things running. diff --git a/interactive/bench/bench.py b/interactive/bench/bench.py index 7f03bd4a6..c4e212f0d 100755 --- a/interactive/bench/bench.py +++ b/interactive/bench/bench.py @@ -89,7 +89,23 @@ def run_session(lines, backend, workers, timeout=3600, wrap=None): def session(name, nodes, edges, churn, rounds): program, build = WORKLOADS[name] - return [f"install p {program}", *build(nodes, edges, churn), "tick", f"tick {rounds}"] + return [f"install p {without_inspects(program)}", *build(nodes, edges, churn), "tick", f"tick {rounds}"] + + +def without_inspects(program): + """A copy of the program with its `| inspect(..)` taps removed, in `bench/.tmp/`. + + The example programs print what they compute; unnest's tap on 200k rows was 90% of + its "load" time (one unbuffered stderr write per row). The taps are for reading, not + for timing, so the benchmark runs the programs without them.""" + src = open(os.path.join(CRATE, program)).read() + stripped = re.sub(r"\|\s*inspect\([^)]*\)", "", src) + tmp = os.path.join(HERE, ".tmp") + os.makedirs(tmp, exist_ok=True) + path = os.path.join(tmp, os.path.basename(program)) + with open(path, "w") as f: + f.write(stripped) + return path def aoc_sessions(backend): diff --git a/interactive/bench/reports/2026-09-04-d875d6e0-medium.jsonl b/interactive/bench/reports/2026-09-04-d875d6e0-medium.jsonl deleted file mode 100644 index d1309bd15..000000000 --- a/interactive/bench/reports/2026-09-04-d875d6e0-medium.jsonl +++ /dev/null @@ -1,96 +0,0 @@ -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.5, "round_s": 0.10980000000000001, "total_s": 7.99} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.51, "round_s": 0.1094, "total_s": 7.9799999999999995} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.52, "round_s": 0.1096, "total_s": 8.0} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19865000000000002, "round_s": 0.0137404, "total_s": 0.88567} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19349000000000002, "round_s": 0.01391, "total_s": 0.8889900000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19494999999999998, "round_s": 0.013818599999999999, "total_s": 0.8858799999999999} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.44, "round_s": 0.011531199999999998, "total_s": 2.01656} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.43, "round_s": 0.0114626, "total_s": 2.00313} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.43, "round_s": 0.011475200000000001, "total_s": 2.0037599999999998} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.39123, "round_s": 0.0080856, "total_s": 0.7955099999999999} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.38848000000000005, "round_s": 0.0081038, "total_s": 0.7936700000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.3932, "round_s": 0.0081352, "total_s": 0.79996} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.96, "round_s": 0.0416, "total_s": 13.040000000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.91, "round_s": 0.0418, "total_s": 13.0} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 11.25, "round_s": 0.0426, "total_s": 13.379999999999999} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02183, "round_s": 0.012571400000000002, "total_s": 0.6504000000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02159, "round_s": 0.0123232, "total_s": 0.6377499999999999} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02159, "round_s": 0.012378400000000001, "total_s": 0.64051} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27352, "round_s": 0.1698, "total_s": 8.76352} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27938999999999997, "round_s": 0.17, "total_s": 8.77939} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.26994999999999997, "round_s": 0.17, "total_s": 8.76995} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.15, "round_s": 0.0165758, "total_s": 3.97879} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.29, "round_s": 0.0169996, "total_s": 4.13998} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.22, "round_s": 0.0169516, "total_s": 4.06758} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.72336, "round_s": 0.046799999999999994, "total_s": 3.06336} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.84048, "round_s": 0.046799999999999994, "total_s": 3.1804799999999998} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.73463, "round_s": 0.047, "total_s": 3.08463} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.05942, "round_s": 0.0053164, "total_s": 0.32524} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.06039, "round_s": 0.0053942, "total_s": 0.3301} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.05841, "round_s": 0.0053344, "total_s": 0.32513000000000003} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.15, "round_s": 0.0102036, "total_s": 1.66018} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.19, "round_s": 0.010258800000000002, "total_s": 1.70294} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.07, "round_s": 0.0103444, "total_s": 1.58722} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.1055, "round_s": 0.0034917999999999998, "total_s": 0.28009} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.10616, "round_s": 0.0034306000000000002, "total_s": 0.27769} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.10583000000000001, "round_s": 0.003431, "total_s": 0.27738} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 13.66, "round_s": 0.0334, "total_s": 15.33} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 13.08, "round_s": 0.0336, "total_s": 14.76} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 13.39, "round_s": 0.0336, "total_s": 15.07} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.016460000000000002, "round_s": 0.008149, "total_s": 0.42391} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.01548, "round_s": 0.0080684, "total_s": 0.4189} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.015210000000000001, "round_s": 0.007964, "total_s": 0.41341} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14387, "round_s": 0.1052, "total_s": 5.4038699999999995} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14801, "round_s": 0.1052, "total_s": 5.40801} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.13917, "round_s": 0.1052, "total_s": 5.39917} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.62, "round_s": 0.0176904, "total_s": 4.50452} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.45, "round_s": 0.0174426, "total_s": 4.3221300000000005} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.46, "round_s": 0.017595, "total_s": 4.33975} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.0, "round_s": 0.058600000000000006, "total_s": 4.93} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.0, "round_s": 0.0588, "total_s": 4.9399999999999995} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 2.01, "round_s": 0.058600000000000006, "total_s": 4.9399999999999995} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18, "round_s": 0.010178800000000002, "total_s": 0.6889400000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.17927, "round_s": 0.010164199999999998, "total_s": 0.68748} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18035, "round_s": 0.0101588, "total_s": 0.6882900000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.98592, "round_s": 0.0085226, "total_s": 1.41205} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.98093, "round_s": 0.008472, "total_s": 1.40453} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.96709, "round_s": 0.008451199999999999, "total_s": 1.38965} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.31721, "round_s": 0.0062902, "total_s": 0.6317200000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.31594, "round_s": 0.006199, "total_s": 0.6258900000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.32075, "round_s": 0.006233200000000001, "total_s": 0.63241} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.39, "round_s": 0.034, "total_s": 12.09} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.57, "round_s": 0.035, "total_s": 12.32} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 10.32, "round_s": 0.0342, "total_s": 12.030000000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.027379999999999998, "round_s": 0.013637000000000002, "total_s": 0.70923} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02743, "round_s": 0.0135668, "total_s": 0.70577} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.027649999999999997, "round_s": 0.013756199999999998, "total_s": 0.7154599999999999} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27144999999999997, "round_s": 0.17120000000000002, "total_s": 8.83145} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27042000000000005, "round_s": 0.1702, "total_s": 8.78042} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.26879000000000003, "round_s": 0.16620000000000001, "total_s": 8.57879} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.26, "round_s": 0.0163992, "total_s": 4.07996} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.28, "round_s": 0.0165248, "total_s": 4.10624} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.25, "round_s": 0.016286600000000002, "total_s": 4.06433} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.6766300000000001, "round_s": 0.032799999999999996, "total_s": 2.31663} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.6708, "round_s": 0.032799999999999996, "total_s": 2.3108} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 32, "rows": 200000, "load_s": 0.67898, "round_s": 0.0326, "total_s": 2.30898} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.05969, "round_s": 0.004994800000000001, "total_s": 0.30943000000000004} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.059430000000000004, "round_s": 0.0049608000000000005, "total_s": 0.30747} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.0593, "round_s": 0.0049716000000000005, "total_s": 0.30788000000000004} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.9749, "round_s": 0.0082602, "total_s": 1.38791} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.97181, "round_s": 0.0082676, "total_s": 1.38519} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.94757, "round_s": 0.008459600000000001, "total_s": 1.3705500000000002} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.10781, "round_s": 0.0044534, "total_s": 0.33048} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.11093000000000001, "round_s": 0.0044318000000000005, "total_s": 0.33252000000000004} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 14, "rows": 200000, "load_s": 0.11284000000000001, "round_s": 0.0044378, "total_s": 0.33473} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 12.44, "round_s": 0.0304, "total_s": 13.959999999999999} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 12.41, "round_s": 0.0308, "total_s": 13.95} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 12.56, "round_s": 0.0302, "total_s": 14.07} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.01697, "round_s": 0.008468400000000001, "total_s": 0.44039} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.02194, "round_s": 0.0084338, "total_s": 0.44363} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 0.01722, "round_s": 0.008546, "total_s": 0.44452} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14895, "round_s": 0.0728, "total_s": 3.7889500000000003} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.20765, "round_s": 0.0728, "total_s": 3.8476500000000002} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.148, "round_s": 0.0726, "total_s": 3.778} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.61, "round_s": 0.0176132, "total_s": 4.49066} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.62, "round_s": 0.0175384, "total_s": 4.49692} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 4, "rows": 200000, "load_s": 3.53, "round_s": 0.0178234, "total_s": 4.42117} diff --git a/interactive/bench/reports/2026-09-04-d875d6e0-medium.md b/interactive/bench/reports/2026-09-04-d875d6e0-medium.md deleted file mode 100644 index a482f5e4f..000000000 --- a/interactive/bench/reports/2026-09-04-d875d6e0-medium.md +++ /dev/null @@ -1,25 +0,0 @@ -### initial epoch (load + first computation) - -| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | -|---|---|---|---|---|---|---| -| adt | 27.4ms (n=3) | 21.6ms (n=3) | 17.2ms (n=3) | 15.5ms (n=3) | 0.79x | 0.90x | -| ast | 270.4ms (n=3) | 273.5ms (n=3) | 148.9ms (n=3) | 143.9ms (n=3) | 1.01x | 0.97x | -| kcore | 980.9ms (n=3) | 1.43s (n=3) | 971.8ms (n=3) | 1.15s (n=3) | 1.46x | 1.18x | -| reach | 180.0ms (n=3) | 194.9ms (n=3) | 59.4ms (n=3) | 59.4ms (n=3) | 1.08x | 1.00x | -| scc | 2.00s (n=3) | 2.51s (n=3) | 676.6ms (n=3) | 734.6ms (n=3) | 1.25x | 1.09x | -| stable | 317.2ms (n=3) | 391.2ms (n=3) | 110.9ms (n=3) | 105.8ms (n=3) | 1.23x | 0.95x | -| tour | 10.39s (n=3) | 10.96s (n=3) | 12.44s (n=3) | 13.39s (n=3) | 1.05x | 1.08x | -| unnest | 3.26s (n=3) | 3.22s (n=3) | 3.61s (n=3) | 3.46s (n=3) | 0.99x | 0.96x | - -### per churn epoch (median over the run's rounds) - -| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | -|---|---|---|---|---|---|---| -| adt | 13.6ms (n=3) | 12.4ms (n=3) | 8.5ms (n=3) | 8.1ms (n=3) | 0.91x | 0.95x | -| ast | 170.2ms (n=3) | 170.0ms (n=3) | 72.8ms (n=3) | 105.2ms (n=3) | 1.00x | 1.45x | -| kcore | 8.5ms (n=3) | 11.5ms (n=3) | 8.3ms (n=3) | 10.3ms (n=3) | 1.35x | 1.24x | -| reach | 10.2ms (n=3) | 13.8ms (n=3) | 5.0ms (n=3) | 5.3ms (n=3) | 1.36x | 1.07x | -| scc | 58.6ms (n=3) | 109.6ms (n=3) | 32.8ms (n=3) | 46.8ms (n=3) | 1.87x | 1.43x | -| stable | 6.2ms (n=3) | 8.1ms (n=3) | 4.4ms (n=3) | 3.4ms (n=3) | 1.30x | 0.77x | -| tour | 34.2ms (n=3) | 41.8ms (n=3) | 30.4ms (n=3) | 33.6ms (n=3) | 1.22x | 1.11x | -| unnest | 16.4ms (n=3) | 17.0ms (n=3) | 17.6ms (n=3) | 17.6ms (n=3) | 1.03x | 1.00x | diff --git a/interactive/bench/reports/2026-09-04-d875d6e0-small.jsonl b/interactive/bench/reports/2026-09-04-d875d6e0-small.jsonl deleted file mode 100644 index 83d0ddd81..000000000 --- a/interactive/bench/reports/2026-09-04-d875d6e0-small.jsonl +++ /dev/null @@ -1,64 +0,0 @@ -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.17954, "round_s": 0.010756, "total_s": 0.39466} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.18214, "round_s": 0.0108785, "total_s": 0.39971} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.016960000000000003, "round_s": 0.000959, "total_s": 0.036140000000000005} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.01724, "round_s": 0.000993, "total_s": 0.037099999999999994} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.12535, "round_s": 0.0009775, "total_s": 0.1449} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.12362000000000001, "round_s": 0.001003, "total_s": 0.14368} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.03034, "round_s": 0.0006019999999999999, "total_s": 0.04238} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.03087, "round_s": 0.000632, "total_s": 0.04351} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.04, "round_s": 0.003423, "total_s": 1.10846} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.04, "round_s": 0.0034465000000000003, "total_s": 1.10893} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.0018700000000000001, "round_s": 0.0010185, "total_s": 0.022240000000000003} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.0018000000000000002, "round_s": 0.001001, "total_s": 0.02182} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.018600000000000002, "round_s": 0.010502500000000001, "total_s": 0.22865000000000002} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.01857, "round_s": 0.0108465, "total_s": 0.23550000000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.30778, "round_s": 0.0015125, "total_s": 0.33803} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.30404000000000003, "round_s": 0.0015445, "total_s": 0.33493000000000006} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.05856, "round_s": 0.0065455, "total_s": 0.18947} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.058140000000000004, "round_s": 0.006760500000000001, "total_s": 0.19335000000000002} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.00666, "round_s": 0.0006839999999999999, "total_s": 0.02034} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.00962, "round_s": 0.0006900000000000001, "total_s": 0.023420000000000003} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.10035, "round_s": 0.001134, "total_s": 0.12303} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.1061, "round_s": 0.0011305, "total_s": 0.12871} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.00962, "round_s": 0.0005200000000000001, "total_s": 0.020020000000000003} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.00973, "round_s": 0.0005269999999999999, "total_s": 0.02027} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.3, "round_s": 0.003571, "total_s": 1.37142} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.35, "round_s": 0.0036119999999999998, "total_s": 1.4222400000000002} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.00454, "round_s": 0.000647, "total_s": 0.01748} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.00445, "round_s": 0.0006590000000000001, "total_s": 0.01763} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.01087, "round_s": 0.0041, "total_s": 0.09287000000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.0108, "round_s": 0.0040025, "total_s": 0.09085} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "vec", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.33649, "round_s": 0.001831, "total_s": 0.37311} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "vec", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.35267000000000004, "round_s": 0.0017865, "total_s": 0.3884} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.16369, "round_s": 0.0109315, "total_s": 0.38232} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.15925999999999998, "round_s": 0.010828, "total_s": 0.37582} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.01647, "round_s": 0.0011985, "total_s": 0.04044} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.01616, "round_s": 0.001182, "total_s": 0.0398} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.08774, "round_s": 0.0009519999999999999, "total_s": 0.10678} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.08673, "round_s": 0.000923, "total_s": 0.10519} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.027469999999999998, "round_s": 0.0008625000000000001, "total_s": 0.044719999999999996} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.02706, "round_s": 0.0008555, "total_s": 0.04417} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 0.96375, "round_s": 0.0034625000000000003, "total_s": 1.033} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.0, "round_s": 0.00358, "total_s": 1.0716} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.00236, "round_s": 0.0010895, "total_s": 0.02415} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.0024, "round_s": 0.001115, "total_s": 0.0247} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.03015, "round_s": 0.0165895, "total_s": 0.36194000000000004} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.0294, "round_s": 0.016466, "total_s": 0.35872} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.30376, "round_s": 0.001482, "total_s": 0.3334} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.3033, "round_s": 0.0014895, "total_s": 0.33309} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.06686, "round_s": 0.008005500000000002, "total_s": 0.22697000000000003} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 32, "rows": 20000, "load_s": 0.06716, "round_s": 0.008022, "total_s": 0.2276} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.00661, "round_s": 0.001003, "total_s": 0.02667} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 11, "rows": 20000, "load_s": 0.00664, "round_s": 0.0010025000000000001, "total_s": 0.026690000000000002} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.09142, "round_s": 0.0010855, "total_s": 0.11313000000000001} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 21, "rows": 20000, "load_s": 0.08844, "round_s": 0.0011095, "total_s": 0.11063} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.01177, "round_s": 0.0008604999999999999, "total_s": 0.02898} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "stable", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 14, "rows": 20000, "load_s": 0.01132, "round_s": 0.0008369999999999999, "total_s": 0.028059999999999998} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.23, "round_s": 0.0038814999999999995, "total_s": 1.30763} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "tour", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 31, "rows": 20000, "load_s": 1.25, "round_s": 0.0038915, "total_s": 1.32783} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.00235, "round_s": 0.0007375000000000001, "total_s": 0.0171} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "adt", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.0027, "round_s": 0.0007495, "total_s": 0.01769} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.01298, "round_s": 0.0068015, "total_s": 0.14901} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "ast", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 3, "rows": 20000, "load_s": 0.01286, "round_s": 0.0067894999999999995, "total_s": 0.14865} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.33669, "round_s": 0.0017725000000000002, "total_s": 0.37213999999999997} -{"date": "2026-09-04", "rev": "d875d6e0", "dirty": true, "scale": "small", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": 20, "ops": 4, "rows": 20000, "load_s": 0.35972000000000004, "round_s": 0.001749, "total_s": 0.39470000000000005} diff --git a/interactive/bench/reports/2026-09-04-d875d6e0-small.md b/interactive/bench/reports/2026-09-04-d875d6e0-small.md deleted file mode 100644 index a9e6523ff..000000000 --- a/interactive/bench/reports/2026-09-04-d875d6e0-small.md +++ /dev/null @@ -1,25 +0,0 @@ -### initial epoch (load + first computation) - -| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | -|---|---|---|---|---|---|---| -| adt | 2.4ms (n=2) | 1.8ms (n=2) | 2.5ms (n=2) | 4.5ms (n=2) | 0.77x | 1.78x | -| ast | 29.8ms (n=2) | 18.6ms (n=2) | 12.9ms (n=2) | 10.8ms (n=2) | 0.62x | 0.84x | -| kcore | 87.2ms (n=2) | 124.5ms (n=2) | 89.9ms (n=2) | 103.2ms (n=2) | 1.43x | 1.15x | -| reach | 16.3ms (n=2) | 17.1ms (n=2) | 6.6ms (n=2) | 8.1ms (n=2) | 1.05x | 1.23x | -| scc | 161.5ms (n=2) | 180.8ms (n=2) | 67.0ms (n=2) | 58.4ms (n=2) | 1.12x | 0.87x | -| stable | 27.3ms (n=2) | 30.6ms (n=2) | 11.5ms (n=2) | 9.7ms (n=2) | 1.12x | 0.84x | -| tour | 981.9ms (n=2) | 1.04s (n=2) | 1.24s (n=2) | 1.33s (n=2) | 1.06x | 1.07x | -| unnest | 303.5ms (n=2) | 305.9ms (n=2) | 348.2ms (n=2) | 344.6ms (n=2) | 1.01x | 0.99x | - -### per churn epoch (median over the run's rounds) - -| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | -|---|---|---|---|---|---|---| -| adt | 1.1ms (n=2) | 1.0ms (n=2) | 744µs (n=2) | 653µs (n=2) | 0.92x | 0.88x | -| ast | 16.5ms (n=2) | 10.7ms (n=2) | 6.8ms (n=2) | 4.1ms (n=2) | 0.65x | 0.60x | -| kcore | 938µs (n=2) | 990µs (n=2) | 1.1ms (n=2) | 1.1ms (n=2) | 1.06x | 1.03x | -| reach | 1.2ms (n=2) | 976µs (n=2) | 1.0ms (n=2) | 687µs (n=2) | 0.82x | 0.69x | -| scc | 10.9ms (n=2) | 10.8ms (n=2) | 8.0ms (n=2) | 6.7ms (n=2) | 0.99x | 0.83x | -| stable | 859µs (n=2) | 617µs (n=2) | 849µs (n=2) | 524µs (n=2) | 0.72x | 0.62x | -| tour | 3.5ms (n=2) | 3.4ms (n=2) | 3.9ms (n=2) | 3.6ms (n=2) | 0.98x | 0.92x | -| unnest | 1.5ms (n=2) | 1.5ms (n=2) | 1.8ms (n=2) | 1.8ms (n=2) | 1.03x | 1.03x | diff --git a/interactive/bench/reports/2026-09-04-f5362807-medium.jsonl b/interactive/bench/reports/2026-09-04-f5362807-medium.jsonl new file mode 100644 index 000000000..95bc90326 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-f5362807-medium.jsonl @@ -0,0 +1,96 @@ +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.51, "round_s": 0.109, "total_s": 7.96} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.54, "round_s": 0.1094, "total_s": 8.01} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.54, "round_s": 0.1096, "total_s": 8.02} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.19897, "round_s": 0.0141714, "total_s": 0.90754} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.20016, "round_s": 0.0138892, "total_s": 0.8946200000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.19840000000000002, "round_s": 0.0139798, "total_s": 0.89739} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.46, "round_s": 0.011732200000000002, "total_s": 2.0466100000000003} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.44, "round_s": 0.011685399999999999, "total_s": 2.02427} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.47, "round_s": 0.011888000000000001, "total_s": 2.0644} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.39535000000000003, "round_s": 0.0079644, "total_s": 0.7935700000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.3949, "round_s": 0.0081478, "total_s": 0.80229} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.38904000000000005, "round_s": 0.0082444, "total_s": 0.8012600000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6461, "round_s": 0.02, "total_s": 1.6461000000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6482899999999999, "round_s": 0.02, "total_s": 1.6482899999999998} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.64371, "round_s": 0.0202, "total_s": 1.65371} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02154, "round_s": 0.012449400000000001, "total_s": 0.6440100000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02158, "round_s": 0.0123076, "total_s": 0.6369600000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.0218, "round_s": 0.0125048, "total_s": 0.6470400000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27294999999999997, "round_s": 0.1702, "total_s": 8.78295} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27836, "round_s": 0.16899999999999998, "total_s": 8.728359999999999} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27306, "round_s": 0.1698, "total_s": 8.76306} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15104, "round_s": 0.0018248000000000001, "total_s": 0.24228} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15201, "round_s": 0.001862, "total_s": 0.24511} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15, "round_s": 0.0018196000000000002, "total_s": 0.24098} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.83663, "round_s": 0.047400000000000005, "total_s": 3.20663} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.8531799999999999, "round_s": 0.047599999999999996, "total_s": 3.23318} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.73256, "round_s": 0.046799999999999994, "total_s": 3.0725599999999997} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05763, "round_s": 0.005279600000000001, "total_s": 0.32161000000000006} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05818, "round_s": 0.005318400000000001, "total_s": 0.32410000000000005} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05902, "round_s": 0.005338400000000001, "total_s": 0.32594000000000006} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.04, "round_s": 0.0103326, "total_s": 1.5566300000000002} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.06, "round_s": 0.010259200000000001, "total_s": 1.5729600000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 1.03, "round_s": 0.0102542, "total_s": 1.54271} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.12191, "round_s": 0.0034486, "total_s": 0.29434} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10625, "round_s": 0.0034358, "total_s": 0.27804} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10482, "round_s": 0.0034116000000000003, "total_s": 0.2754} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.21484999999999999, "round_s": 0.0081338, "total_s": 0.62154} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.21763, "round_s": 0.0081334, "total_s": 0.6243000000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.21709, "round_s": 0.0081116, "total_s": 0.6226700000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.01548, "round_s": 0.0077818, "total_s": 0.40457} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.015560000000000001, "round_s": 0.0080106, "total_s": 0.41609} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.016210000000000002, "round_s": 0.0078718, "total_s": 0.4098} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.41557, "round_s": 0.1056, "total_s": 5.69557} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.44089, "round_s": 0.1048, "total_s": 5.68089} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.13862000000000002, "round_s": 0.1048, "total_s": 5.378620000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.10704000000000001, "round_s": 0.0005916, "total_s": 0.13662000000000002} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05149, "round_s": 0.0005956000000000001, "total_s": 0.08127000000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05266, "round_s": 0.0005956000000000001, "total_s": 0.08244} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.0, "round_s": 0.0584, "total_s": 4.92} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.99, "round_s": 0.0584, "total_s": 4.91} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.99, "round_s": 0.0584, "total_s": 4.91} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17784, "round_s": 0.010215, "total_s": 0.68859} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17787, "round_s": 0.010061800000000001, "total_s": 0.68096} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17822, "round_s": 0.0102118, "total_s": 0.6888099999999999} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.9707100000000001, "round_s": 0.008499600000000001, "total_s": 1.39569} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.96474, "round_s": 0.0084252, "total_s": 1.3860000000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.97999, "round_s": 0.008412999999999999, "total_s": 1.40064} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31703, "round_s": 0.006251799999999999, "total_s": 0.62962} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31955, "round_s": 0.006138600000000001, "total_s": 0.62648} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31657, "round_s": 0.006277999999999999, "total_s": 0.63047} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6920000000000001, "round_s": 0.013300999999999999, "total_s": 1.35705} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.69163, "round_s": 0.013285799999999999, "total_s": 1.3559199999999998} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6968099999999999, "round_s": 0.013215000000000001, "total_s": 1.3575599999999999} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.027120000000000002, "round_s": 0.013708199999999999, "total_s": 0.71253} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02708, "round_s": 0.013546600000000002, "total_s": 0.7044100000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.027530000000000002, "round_s": 0.0136832, "total_s": 0.71169} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27062, "round_s": 0.17079999999999998, "total_s": 8.810619999999998} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27398, "round_s": 0.1702, "total_s": 8.78398} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27581, "round_s": 0.1732, "total_s": 8.93581} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19399000000000002, "round_s": 0.0014206, "total_s": 0.26502000000000003} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19271000000000002, "round_s": 0.0014008, "total_s": 0.26275000000000004} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19201, "round_s": 0.0014146, "total_s": 0.26274} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.6833300000000001, "round_s": 0.033, "total_s": 2.33333} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.6909, "round_s": 0.0332, "total_s": 2.3508999999999998} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.6754, "round_s": 0.0332, "total_s": 2.3354} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05964, "round_s": 0.0050226, "total_s": 0.31077} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05966, "round_s": 0.0049468, "total_s": 0.307} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.058750000000000004, "round_s": 0.0050436000000000005, "total_s": 0.31093000000000004} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.93696, "round_s": 0.008512, "total_s": 1.36256} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.9320700000000001, "round_s": 0.008446799999999999, "total_s": 1.3544100000000001} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.9202, "round_s": 0.0085452, "total_s": 1.3474599999999999} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.11236, "round_s": 0.0044082, "total_s": 0.33277} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.11103, "round_s": 0.0044526, "total_s": 0.33366} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.1143, "round_s": 0.0044788, "total_s": 0.33824} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.23664, "round_s": 0.006302000000000001, "total_s": 0.55174} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.23346, "round_s": 0.00634, "total_s": 0.55046} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.22971000000000003, "round_s": 0.0063854, "total_s": 0.54898} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02174, "round_s": 0.0085678, "total_s": 0.45013} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.01704, "round_s": 0.008388600000000001, "total_s": 0.43647} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.01684, "round_s": 0.0084962, "total_s": 0.44165000000000004} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.21169, "round_s": 0.07440000000000001, "total_s": 3.93169} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15104, "round_s": 0.07400000000000001, "total_s": 3.8510400000000002} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.21039, "round_s": 0.0742, "total_s": 3.92039} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07142, "round_s": 0.0005552, "total_s": 0.09918} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07171, "round_s": 0.0005582, "total_s": 0.09962} +{"date": "2026-09-04", "rev": "f5362807", "dirty": true, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07195, "round_s": 0.0005402, "total_s": 0.09896} diff --git a/interactive/bench/reports/2026-09-04-f5362807-medium.md b/interactive/bench/reports/2026-09-04-f5362807-medium.md new file mode 100644 index 000000000..82fff7d31 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-f5362807-medium.md @@ -0,0 +1,25 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 27.1ms (n=3) | 21.6ms (n=3) | 17.0ms (n=3) | 15.6ms (n=3) | 0.80x | 0.91x | +| ast | 274.0ms (n=3) | 273.1ms (n=3) | 210.4ms (n=3) | 415.6ms (n=3) | 1.00x | 1.98x | +| kcore | 970.7ms (n=3) | 1.46s (n=3) | 932.1ms (n=3) | 1.04s (n=3) | 1.50x | 1.12x | +| reach | 177.9ms (n=3) | 199.0ms (n=3) | 59.6ms (n=3) | 58.2ms (n=3) | 1.12x | 0.98x | +| scc | 1.99s (n=3) | 2.54s (n=3) | 683.3ms (n=3) | 836.6ms (n=3) | 1.28x | 1.22x | +| stable | 317.0ms (n=3) | 394.9ms (n=3) | 112.4ms (n=3) | 106.2ms (n=3) | 1.25x | 0.95x | +| tour | 692.0ms (n=3) | 646.1ms (n=3) | 233.5ms (n=3) | 217.1ms (n=3) | 0.93x | 0.93x | +| unnest | 192.7ms (n=3) | 151.0ms (n=3) | 71.7ms (n=3) | 52.7ms (n=3) | 0.78x | 0.73x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 13.7ms (n=3) | 12.4ms (n=3) | 8.5ms (n=3) | 7.9ms (n=3) | 0.91x | 0.93x | +| ast | 170.8ms (n=3) | 169.8ms (n=3) | 74.2ms (n=3) | 104.8ms (n=3) | 0.99x | 1.41x | +| kcore | 8.4ms (n=3) | 11.7ms (n=3) | 8.5ms (n=3) | 10.3ms (n=3) | 1.39x | 1.21x | +| reach | 10.2ms (n=3) | 14.0ms (n=3) | 5.0ms (n=3) | 5.3ms (n=3) | 1.37x | 1.06x | +| scc | 58.4ms (n=3) | 109.4ms (n=3) | 33.2ms (n=3) | 47.4ms (n=3) | 1.87x | 1.43x | +| stable | 6.3ms (n=3) | 8.1ms (n=3) | 4.5ms (n=3) | 3.4ms (n=3) | 1.30x | 0.77x | +| tour | 13.3ms (n=3) | 20.0ms (n=3) | 6.3ms (n=3) | 8.1ms (n=3) | 1.51x | 1.28x | +| unnest | 1.4ms (n=3) | 1.8ms (n=3) | 555µs (n=3) | 596µs (n=3) | 1.29x | 1.07x | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md new file mode 100644 index 000000000..035c06dbf --- /dev/null +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -0,0 +1,67 @@ +# Findings so far (2026-09-04, branch bench-spike) + +What the first sweeps and profiles say about where DDIR's time goes. Numbers +are from this machine (M-series, 1 kHz samply), medians of 3 unless noted. + +## 1. The reduce is the cost, on both backends + +- **scc, corgi, 1 worker, medium** (`2026-09-04-scc-corgi-profile.md`): a churn + epoch is 48% reduce, 29% arrangement merges, 19% join. Inside the reduce, + `find_ranges` alone is 14.5% of the epoch; inside the merges, advancing times + (`CorgiChunk::advance`: materialize a `Product` per row, + `join` allocates) is 18%. +- **ast, corgi, 1 worker, medium**: a churn epoch is **99.5% reduce**. The + program buckets 1.6M derived rows into 16 keys and takes `min`; each epoch's + 100 changed rows touch most keys, and the history-replay reduce rebuilds + each touched group (`ValueHistory::build`, `sort_blocks`, `merge_present`, + `BinaryHeap`). 166 ms per epoch against 260 ms for the whole initial load. + vec is identical (170 ms): the columnar scalar logic is not on the path at + all. A hierarchical `min` (the reduction-hierarchy rewrite) is the fix, and + it is an optimizer rewrite, not a backend one. +- scc's `PointStamp` is two coordinates deep (`outer` holds `fwd` and `bwd`), and + `PointStamp` inlines only one (`SmallVec<[T; 1]>`), so every time join in + scc heap-allocates. Worth a measurement with `[T; 4]`. + +## 2. corgi vs vec, medium scale + +Per churn epoch corgi is 1.9x (scc), 1.3x (kcore, reach, stable, tour), 1.0x +(ast, unnest, adt) at one worker; the initial epoch is 1.0–1.5x. The 2.5x +figures from the corgi-opportunities work were at a larger scale on the old +harness; here the reduce and merge machinery, which both backends share +through DD's proxy tactics, sets the pace. + +## 3. Things that were not the workload + +- **`inspect` taps**: unnest's "3.2 s load" was 91% `eprint` — one unbuffered + stderr write per row, 200k rows. tour's 10 s likewise. The harness now + strips `| inspect(..)` from the benchmark copies; unnest is 150 ms, tour + 650 ms. +- **AoC on corgi is slower than vec on 24 of 33 parts**, by up to 12x on the + sub-millisecond ones (day07: 6 ms vs 0.5 ms). The inputs are tiny; what + shows is a fixed cost per operator per program — corgi compiles each + operator's graph on its first batch (`Plan::graph`), plus the row↔column + transcode at every boundary. Small-input latency is a real axis if the + server is to host many small programs; day11 (0.9 s, the one heavy part) + shows corgi 1.1x ahead once there is data. + +## 4. Scaling to 4 workers is weak + +At medium scale, 4 workers give scc 3x on the initial epoch but only 1.8x +per churn epoch; kcore, unnest and tour do not speed up at all, adt and ast +barely. A churn epoch of 100 rows is small enough that the per-epoch +progress-tracking and barrier work (the `timely-barrier-sync` note) is a +large share. The open-loop `--sync=K` regime the old harness had is the +right instrument here and is not in the server yet. + +## Next + +1. Measure `PointStamp>` on scc (both backends). +2. Prototype memoized `advance_by` in `CorgiChunk::advance`. +3. `find_ranges` galloping search (corgi repo). +4. A hierarchical-`min` rewrite in the DDIR optimizer, or at least an ast + variant that keys on more than 16 buckets to show the difference. +5. An `advance n` (close epochs without waiting) server command for the + open-loop regime. +6. TPC-H: DDIR is integer-only, so a `transcribe.py`-style step over dbgen + output (dictionary-encode strings, scale decimals) feeding Q1/Q3/Q5-shaped + DDIR programs; LDBC after that. From 485eeef90a2c43124f863a3fe767c0aebed0586b Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 10:02:02 -0400 Subject: [PATCH 05/25] Corgi chunks: advance each distinct time once, not once per row MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `CorgiChunk::advance` materialized a `Product` per row, joined it with the frontier (another allocation past one coordinate), sorted the owned times, and cloned the survivors. A batch holds few distinct times, so rows now carry an index into a per-batch table of distinct source times (kept as columnar refs, binary-searched) and their advanced forms; the owned time is built once per distinct time. One scratch buffer serves every group, where a fresh `Vec` per group had been an allocation per row. scc on corgi at medium scale: initial epoch 1.99→1.90 s, churn epoch 58.0→56.2 ms; kcore, reach and tour unchanged. Corgi gate passes. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../bench/reports/2026-09-04-findings.md | 31 ++++++++++--- interactive/src/corgi/chunk.rs | 46 ++++++++++++++++--- 2 files changed, 64 insertions(+), 13 deletions(-) diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 035c06dbf..ff7a50061 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -53,15 +53,34 @@ progress-tracking and barrier work (the `timely-barrier-sync` note) is a large share. The open-loop `--sync=K` regime the old harness had is the right instrument here and is not in the server yet. +## 5. Tried: four inline PointStamp coordinates — no + +`PointStamp` inlines one coordinate (`SmallVec<[T; 1]>`); scc's times have two, +so every join allocates. With `[T; 4]` (medium, 1 worker, 3 runs each): +scc corgi load 1.99→1.91 s, churn 58.0→57.8 ms; scc vec churn 110→102 ms but +load 2.54→2.62 s; reach corgi load 177→200 ms, churn 10.2→10.7 ms. The wider +timestamp costs more to move than the allocation it saves. Reverted; the +`SmallVec` traffic in the profiles is mostly not the timestamp. + +## 6. Done: `CorgiChunk::advance` advances each distinct time once + +Rows now carry an index into a per-batch table of distinct times (kept as +refs, binary-searched) and their advanced forms; the per-row `get` + +`advance_by` + clone, each an allocation for a two-coordinate `PointStamp`, +happens once per distinct time. Plus one scratch buffer for all groups instead +of a `Vec` per group. scc corgi medium: load 1.99→1.90 s, churn 58.0→56.2 ms; +kcore/reach/tour unchanged. The profile now shows `advance` at 14.6% of a +churn epoch (was 18%), half of it the ref comparisons of the lookup +(`ColTimes::cmp_cross`), the rest `emit`/`push_range`/`gather_lanes` — +building the output chunk. The corgi gate passes. + ## Next -1. Measure `PointStamp>` on scc (both backends). -2. Prototype memoized `advance_by` in `CorgiChunk::advance`. -3. `find_ranges` galloping search (corgi repo). -4. A hierarchical-`min` rewrite in the DDIR optimizer, or at least an ast +2. `find_ranges` galloping search (corgi repo). +3. A hierarchical-`min` rewrite in the DDIR optimizer, or at least an ast variant that keys on more than 16 buckets to show the difference. -5. An `advance n` (close epochs without waiting) server command for the +4. An `advance n` (close epochs without waiting) server command for the open-loop regime. -6. TPC-H: DDIR is integer-only, so a `transcribe.py`-style step over dbgen +5. TPC-H: DDIR is integer-only, so a `transcribe.py`-style step over dbgen output (dictionary-encode strings, scale decimals) feeding Q1/Q3/Q5-shaped DDIR programs; LDBC after that. diff --git a/interactive/src/corgi/chunk.rs b/interactive/src/corgi/chunk.rs index 79eb4562d..d74dbde43 100644 --- a/interactive/src/corgi/chunk.rs +++ b/interactive/src/corgi/chunk.rs @@ -278,21 +278,53 @@ where let srcs = [Some(&ckv)]; let (mut tags, mut offs) = (Vec::new(), Vec::new()); let (mut otimes, mut odiffs): (ColTimes, Vec) = (ColTimes::new(), Vec::new()); + // A batch holds few distinct times (one epoch, a handful of iterations), so each is + // advanced ONCE. `seen` keeps the distinct source times as refs, `order` a permutation of + // them sorted for binary search, `advanced[j]` the advanced form of `seen[j]`. Rows carry + // an index into `advanced`: no `T` is materialized, joined, or cloned per row, and the + // `PointStamp` allocations that go with each of those happen once per distinct time. + let mut seen: ColTimes = ColTimes::new(); + let mut order: Vec = Vec::new(); + let mut advanced: Vec = Vec::new(); + let mut last = usize::MAX; + // One scratch buffer for every group: most groups are a row or two, and a fresh `Vec` + // per group was an allocation per row. + let mut pairs: Vec<(usize, R)> = Vec::new(); let mut i = 0; for &g_end in &bounds { if g_end > end { break; } - let mut pairs: Vec<(T, R)> = (i..g_end) - .map(|k| { let mut t = ctimes.get(k); t.advance_by(frontier); (t, cdiffs[k].clone()) }) - .collect(); - pairs.sort_by(|a, b| a.0.cmp(&b.0)); + pairs.clear(); + for k in i..g_end { + // Sorted input repeats the previous row's time far more often than not. + let j = if last != usize::MAX && ctimes.cmp_cross(k, &seen, last) == Ordering::Equal { + last + } else { + match order.binary_search_by(|&j| seen.cmp_cross(j, &ctimes, k)) { + Ok(pos) => order[pos], + Err(pos) => { + let mut t = ctimes.get(k); + t.advance_by(frontier); + let j = advanced.len(); + seen.push_ref(&ctimes, k); + advanced.push(t); + order.insert(pos, j); + j + } + } + }; + last = j; + pairs.push((j, cdiffs[k].clone())); + } + // Distinct source times may advance to one time; coalesce by the advanced value. + pairs.sort_by(|a, b| advanced[a.0].cmp(&advanced[b.0])); let mut k = 0; while k < pairs.len() { - let t = pairs[k].0.clone(); + let t = &advanced[pairs[k].0]; let mut d = pairs[k].1.clone(); k += 1; - while k < pairs.len() && pairs[k].0 == t { d.plus_equals(&pairs[k].1); k += 1; } + while k < pairs.len() && advanced[pairs[k].0] == *t { d.plus_equals(&pairs[k].1); k += 1; } if !d.is_zero() { - tags.push(0); offs.push(i); otimes.push(&t); odiffs.push(d); + tags.push(0); offs.push(i); otimes.push(t); odiffs.push(d); if otimes.len() >= TARGET { Self::emit(&srcs, &tags, &offs, &otimes, &odiffs, out); tags.clear(); offs.clear(); otimes.clear(); odiffs.clear(); From 020bd146565fee3bb357072186775af36442c45f Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 10:07:38 -0400 Subject: [PATCH 06/25] Corgi join: compile the projection once per operator, not once per output block The projection's operand shapes are static per join, as they are for the linear operators' Plan; the graph is now pinned at the first block's shapes and reused. Small effect on its own (one block per install on tiny inputs is also one compile), but it removes the per-block scratch lowering and type check from the join's hot loop. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/src/corgi/join.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/interactive/src/corgi/join.rs b/interactive/src/corgi/join.rs index b189dad9c..fac9ce26c 100644 --- a/interactive/src/corgi/join.rs +++ b/interactive/src/corgi/join.rs @@ -36,7 +36,7 @@ use differential_dataflow::operators::int_proxy::join::JoinMatches; use differential_dataflow::trace::chunk::{Chunk, ChunkBatch}; use corgi::arrange::{compare_at, find_ranges, gather, gather_lanes}; -use corgi::{shape_of_value, Shape, Value as CValue}; +use corgi::{shape_of_value, Graph, NumOp, Shape, Value as CValue}; use crate::corgi::chunk::{key_is_hashed, key_lane, recover_key, CorgiChunk}; use crate::corgi::col_times::ColTime; @@ -53,10 +53,14 @@ const TARGET_OUT: usize = 1 << 18; const COORD_BITS: u32 = 48; /// The corgi [`ProxyJoinBackend`]: holds the projection `Term`s (`Var(0)=key`, `Var(1)=val0`, -/// `Var(2)=val1`), compiled per container against the matched columns' shapes. +/// `Var(2)=val1`) and their compiled form, pinned at the first block's shapes. pub struct CorgiJoinBackend { key: Term, val: Term, + /// The projection compiled against `(key, val0, val1)` shapes. A join's operands are static + /// per operator, so a chain compiles once; recompiling per output block made the compile + /// (a scratch lowering plus a type check) 53% of a small-input program's time. + plan: Option<(Shape, Shape, Shape, Graph)>, /// Identifier tokens in the current block that cover more than one real key. `advance` writes /// this and the immediately following `cross` reads it before the next `advance`; only matches /// under these astronomically rare tokens need a real-key comparison. @@ -66,7 +70,7 @@ pub struct CorgiJoinBackend { impl CorgiJoinBackend { pub fn new(key: Term, val: Term) -> Self { - CorgiJoinBackend { key, val, colliding: Vec::new(), _t: PhantomData } + CorgiJoinBackend { key, val, plan: None, colliding: Vec::new(), _t: PhantomData } } } @@ -174,9 +178,15 @@ impl ProxyJoinBackend, CBatch> for CorgiJoinBackend< let kc = recover_key(&gather_lanes(&keys0, &tag0, &off0)); let v0 = gather_lanes(&vals0, &tag0, &off0); let v1 = gather_lanes(&vals1, &tag1, &off1); - let proj = compile_join_projection(&self.key, &self.val, &shape_of_value(&kc), &shape_of_value(&v0), &shape_of_value(&v1)) - .unwrap_or_else(|e| panic!("join projection: type error: {e}")); - let projected = corgi::eval_graph(&proj, CValue::Prod(vec![kc, v0, v1])); + let shapes = (shape_of_value(&kc), shape_of_value(&v0), shape_of_value(&v1)); + let pinned = matches!(&self.plan, Some((k, a, b, _)) if (k, a, b) == (&shapes.0, &shapes.1, &shapes.2)); + if !pinned { + let graph = compile_join_projection(&self.key, &self.val, &shapes.0, &shapes.1, &shapes.2) + .unwrap_or_else(|e| panic!("join projection: type error: {e}")); + self.plan = Some((shapes.0, shapes.1, shapes.2, graph)); + } + let proj = &self.plan.as_ref().expect("compiled above").3; + let projected = corgi::eval_graph(proj, CValue::Prod(vec![kc, v0, v1])); let mut cols = projected.into_prod("corgi join projection").unwrap(); let nv = cols.pop().unwrap(); let nk = cols.pop().unwrap(); From 34c37a87bcf34ee18318e473da0a93654c9bb737 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 10:10:46 -0400 Subject: [PATCH 07/25] Corgi typer: memoize shape_of_term within one lowering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `compile` asks `shape_of_term` for the shapes of an `if`'s branches (a `case`'s arms, a fold's parts, ...) before compiling them, and each ask is a full scratch lowering of that subterm plus a `corgi::shape_of` evaluation. So nested conditionals were re-lowered once per enclosing level — 3^depth in all. AoC day 7, five `if`s deep, spent half of every install there. The shape memo is keyed by term address, environment shapes and expected shape, and lives only for the span of the outermost `compile` / `shape_of_term` on the thread, so an address can never be met again with a different term behind it. Day 7 part 1's tick on corgi: 7.0 → 3.4 ms; the AoC suite and all tests pass. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../2026-09-04-2cbe4287-medium-advmemo.jsonl | 6 + .../2026-09-04-2cbe4287-medium-advmemo.md | 13 ++ .../2026-09-04-50e30257-aoc-shapememo.jsonl | 198 ++++++++++++++++++ .../2026-09-04-50e30257-aoc-shapememo.md | 37 ++++ .../bench/reports/2026-09-04-findings.md | 16 ++ interactive/src/corgi/logic.rs | 64 +++++- 6 files changed, 329 insertions(+), 5 deletions(-) create mode 100644 interactive/bench/reports/2026-09-04-2cbe4287-medium-advmemo.jsonl create mode 100644 interactive/bench/reports/2026-09-04-2cbe4287-medium-advmemo.md create mode 100644 interactive/bench/reports/2026-09-04-50e30257-aoc-shapememo.jsonl create mode 100644 interactive/bench/reports/2026-09-04-50e30257-aoc-shapememo.md diff --git a/interactive/bench/reports/2026-09-04-2cbe4287-medium-advmemo.jsonl b/interactive/bench/reports/2026-09-04-2cbe4287-medium-advmemo.jsonl new file mode 100644 index 000000000..4efb1c53a --- /dev/null +++ b/interactive/bench/reports/2026-09-04-2cbe4287-medium-advmemo.jsonl @@ -0,0 +1,6 @@ +{"date": "2026-09-04", "rev": "2cbe4287", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.9, "round_s": 0.055999999999999994, "total_s": 4.699999999999999} +{"date": "2026-09-04", "rev": "2cbe4287", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.9, "round_s": 0.0562, "total_s": 4.71} +{"date": "2026-09-04", "rev": "2cbe4287", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.89, "round_s": 0.0562, "total_s": 4.7} +{"date": "2026-09-04", "rev": "2cbe4287", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.9823400000000001, "round_s": 0.0083226, "total_s": 1.39847} +{"date": "2026-09-04", "rev": "2cbe4287", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.9817899999999999, "round_s": 0.008202999999999998, "total_s": 1.39194} +{"date": "2026-09-04", "rev": "2cbe4287", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 21, "rows": 200000, "load_s": 0.97814, "round_s": 0.0082106, "total_s": 1.38867} diff --git a/interactive/bench/reports/2026-09-04-2cbe4287-medium-advmemo.md b/interactive/bench/reports/2026-09-04-2cbe4287-medium-advmemo.md new file mode 100644 index 000000000..3d366b3dc --- /dev/null +++ b/interactive/bench/reports/2026-09-04-2cbe4287-medium-advmemo.md @@ -0,0 +1,13 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | +|---|---| +| kcore | 981.8ms (n=3) | +| scc | 1.90s (n=3) | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | +|---|---| +| kcore | 8.2ms (n=3) | +| scc | 56.2ms (n=3) | diff --git a/interactive/bench/reports/2026-09-04-50e30257-aoc-shapememo.jsonl b/interactive/bench/reports/2026-09-04-50e30257-aoc-shapememo.jsonl new file mode 100644 index 000000000..5a71131a2 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-50e30257-aoc-shapememo.jsonl @@ -0,0 +1,198 @@ +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00018241999999999998, "round_s": null, "total_s": 0.00018241999999999998} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00015625, "round_s": null, "total_s": 0.00015625} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.000169, "round_s": null, "total_s": 0.000169} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00041045999999999997, "round_s": null, "total_s": 0.00041045999999999997} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00041483, "round_s": null, "total_s": 0.00041483} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00042462, "round_s": null, "total_s": 0.00042462} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00013016999999999998, "round_s": null, "total_s": 0.00013016999999999998} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00012928999999999998, "round_s": null, "total_s": 0.00012928999999999998} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00013096, "round_s": null, "total_s": 0.00013096} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00019371, "round_s": null, "total_s": 0.00019371} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00020138, "round_s": null, "total_s": 0.00020138} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.0002095, "round_s": null, "total_s": 0.0002095} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00193, "round_s": null, "total_s": 0.00193} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.0017800000000000001, "round_s": null, "total_s": 0.0017800000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.0019, "round_s": null, "total_s": 0.0019} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.0019, "round_s": null, "total_s": 0.0019} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.0017800000000000001, "round_s": null, "total_s": 0.0017800000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.0017800000000000001, "round_s": null, "total_s": 0.0017800000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00042632999999999994, "round_s": null, "total_s": 0.00042632999999999994} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00042362, "round_s": null, "total_s": 0.00042362} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.000452, "round_s": null, "total_s": 0.000452} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.0010500000000000002, "round_s": null, "total_s": 0.0010500000000000002} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00107, "round_s": null, "total_s": 0.00107} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.0010500000000000002, "round_s": null, "total_s": 0.0010500000000000002} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.003, "round_s": null, "total_s": 0.003} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00331, "round_s": null, "total_s": 0.00331} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.0033, "round_s": null, "total_s": 0.0033} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01925, "round_s": null, "total_s": 0.01925} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.016010000000000003, "round_s": null, "total_s": 0.016010000000000003} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01498, "round_s": null, "total_s": 0.01498} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00167, "round_s": null, "total_s": 0.00167} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00166, "round_s": null, "total_s": 0.00166} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.0017, "round_s": null, "total_s": 0.0017} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00045792, "round_s": null, "total_s": 0.00045792} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00045904, "round_s": null, "total_s": 0.00045904} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00048992, "round_s": null, "total_s": 0.00048992} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00050742, "round_s": null, "total_s": 0.00050742} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00051725, "round_s": null, "total_s": 0.00051725} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00052462, "round_s": null, "total_s": 0.00052462} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.01533, "round_s": null, "total_s": 0.01533} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.01544, "round_s": null, "total_s": 0.01544} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.015300000000000001, "round_s": null, "total_s": 0.015300000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.042890000000000005, "round_s": null, "total_s": 0.042890000000000005} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.04286, "round_s": null, "total_s": 0.04286} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.043680000000000004, "round_s": null, "total_s": 0.043680000000000004} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 1.0, "round_s": null, "total_s": 1.0} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.99499, "round_s": null, "total_s": 0.99499} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.99625, "round_s": null, "total_s": 0.99625} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 1.0, "round_s": null, "total_s": 1.0} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.99548, "round_s": null, "total_s": 0.99548} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.99754, "round_s": null, "total_s": 0.99754} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.004940000000000001, "round_s": null, "total_s": 0.004940000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00504, "round_s": null, "total_s": 0.00504} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.004889999999999999, "round_s": null, "total_s": 0.004889999999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.01727, "round_s": null, "total_s": 0.01727} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.0172, "round_s": null, "total_s": 0.0172} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.01702, "round_s": null, "total_s": 0.01702} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00039621, "round_s": null, "total_s": 0.00039621} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00039912, "round_s": null, "total_s": 0.00039912} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00042979, "round_s": null, "total_s": 0.00042979} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14368, "round_s": null, "total_s": 0.14368} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14258, "round_s": null, "total_s": 0.14258} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14236000000000001, "round_s": null, "total_s": 0.14236000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00097571, "round_s": null, "total_s": 0.00097571} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00094508, "round_s": null, "total_s": 0.00094508} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00103, "round_s": null, "total_s": 0.00103} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.0005141699999999999, "round_s": null, "total_s": 0.0005141699999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00052196, "round_s": null, "total_s": 0.00052196} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00052846, "round_s": null, "total_s": 0.00052846} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0015500000000000002, "round_s": null, "total_s": 0.0015500000000000002} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0016, "round_s": null, "total_s": 0.0016} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.00167, "round_s": null, "total_s": 0.00167} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.09459999999999999, "round_s": null, "total_s": 0.09459999999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.0936, "round_s": null, "total_s": 0.0936} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.09337999999999999, "round_s": null, "total_s": 0.09337999999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.04664, "round_s": null, "total_s": 0.04664} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.04686, "round_s": null, "total_s": 0.04686} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.047259999999999996, "round_s": null, "total_s": 0.047259999999999996} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.055560000000000005, "round_s": null, "total_s": 0.055560000000000005} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05627000000000001, "round_s": null, "total_s": 0.05627000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05643, "round_s": null, "total_s": 0.05643} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00139, "round_s": null, "total_s": 0.00139} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.0013700000000000001, "round_s": null, "total_s": 0.0013700000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00148, "round_s": null, "total_s": 0.00148} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00149, "round_s": null, "total_s": 0.00149} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00151, "round_s": null, "total_s": 0.00151} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.0015500000000000002, "round_s": null, "total_s": 0.0015500000000000002} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00036592, "round_s": null, "total_s": 0.00036592} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00038662, "round_s": null, "total_s": 0.00038662} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00037221, "round_s": null, "total_s": 0.00037221} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0007751699999999999, "round_s": null, "total_s": 0.0007751699999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0007945, "round_s": null, "total_s": 0.0007945} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.00083212, "round_s": null, "total_s": 0.00083212} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00043904, "round_s": null, "total_s": 0.00043904} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00043438, "round_s": null, "total_s": 0.00043438} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00046254, "round_s": null, "total_s": 0.00046254} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.0006219999999999999, "round_s": null, "total_s": 0.0006219999999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00062971, "round_s": null, "total_s": 0.00062971} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00066383, "round_s": null, "total_s": 0.00066383} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00031254, "round_s": null, "total_s": 0.00031254} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00027096, "round_s": null, "total_s": 0.00027096} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00026787999999999996, "round_s": null, "total_s": 0.00026787999999999996} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.0006563799999999999, "round_s": null, "total_s": 0.0006563799999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00067454, "round_s": null, "total_s": 0.00067454} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00069617, "round_s": null, "total_s": 0.00069617} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00022083, "round_s": null, "total_s": 0.00022083} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00022296, "round_s": null, "total_s": 0.00022296} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00022278999999999997, "round_s": null, "total_s": 0.00022278999999999997} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00031970999999999996, "round_s": null, "total_s": 0.00031970999999999996} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00031879, "round_s": null, "total_s": 0.00031879} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00035470999999999994, "round_s": null, "total_s": 0.00035470999999999994} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00211, "round_s": null, "total_s": 0.00211} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.0022500000000000003, "round_s": null, "total_s": 0.0022500000000000003} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.0020800000000000003, "round_s": null, "total_s": 0.0020800000000000003} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00215, "round_s": null, "total_s": 0.00215} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.0019399999999999999, "round_s": null, "total_s": 0.0019399999999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.0021000000000000003, "round_s": null, "total_s": 0.0021000000000000003} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00059538, "round_s": null, "total_s": 0.00059538} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.0006036699999999999, "round_s": null, "total_s": 0.0006036699999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00066858, "round_s": null, "total_s": 0.00066858} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.0014, "round_s": null, "total_s": 0.0014} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00138, "round_s": null, "total_s": 0.00138} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.0014399999999999999, "round_s": null, "total_s": 0.0014399999999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.0025800000000000003, "round_s": null, "total_s": 0.0025800000000000003} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00267, "round_s": null, "total_s": 0.00267} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00231, "round_s": null, "total_s": 0.00231} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01332, "round_s": null, "total_s": 0.01332} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.012220000000000002, "round_s": null, "total_s": 0.012220000000000002} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01085, "round_s": null, "total_s": 0.01085} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00346, "round_s": null, "total_s": 0.00346} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00359, "round_s": null, "total_s": 0.00359} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.0035800000000000003, "round_s": null, "total_s": 0.0035800000000000003} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00099325, "round_s": null, "total_s": 0.00099325} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00098288, "round_s": null, "total_s": 0.00098288} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.0010600000000000002, "round_s": null, "total_s": 0.0010600000000000002} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00127, "round_s": null, "total_s": 0.00127} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.0013700000000000001, "round_s": null, "total_s": 0.0013700000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00139, "round_s": null, "total_s": 0.00139} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.02543, "round_s": null, "total_s": 0.02543} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.0214, "round_s": null, "total_s": 0.0214} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.02116, "round_s": null, "total_s": 0.02116} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.05216, "round_s": null, "total_s": 0.05216} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.05007, "round_s": null, "total_s": 0.05007} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.04902, "round_s": null, "total_s": 0.04902} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.87882, "round_s": null, "total_s": 0.87882} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.88306, "round_s": null, "total_s": 0.88306} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.87939, "round_s": null, "total_s": 0.87939} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.88173, "round_s": null, "total_s": 0.88173} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.8787400000000001, "round_s": null, "total_s": 0.8787400000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.87706, "round_s": null, "total_s": 0.87706} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00294, "round_s": null, "total_s": 0.00294} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.0029500000000000004, "round_s": null, "total_s": 0.0029500000000000004} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00285, "round_s": null, "total_s": 0.00285} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.00802, "round_s": null, "total_s": 0.00802} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.00801, "round_s": null, "total_s": 0.00801} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.00785, "round_s": null, "total_s": 0.00785} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00046170999999999994, "round_s": null, "total_s": 0.00046170999999999994} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00045275, "round_s": null, "total_s": 0.00045275} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00050729, "round_s": null, "total_s": 0.00050729} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.20082, "round_s": null, "total_s": 0.20082} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.20013999999999998, "round_s": null, "total_s": 0.20013999999999998} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.20231000000000002, "round_s": null, "total_s": 0.20231000000000002} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.0008302899999999999, "round_s": null, "total_s": 0.0008302899999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.0007985399999999999, "round_s": null, "total_s": 0.0007985399999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.0008850399999999999, "round_s": null, "total_s": 0.0008850399999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.0004990799999999999, "round_s": null, "total_s": 0.0004990799999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00050525, "round_s": null, "total_s": 0.00050525} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.0005197899999999999, "round_s": null, "total_s": 0.0005197899999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0019, "round_s": null, "total_s": 0.0019} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.00185, "round_s": null, "total_s": 0.00185} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.00192, "round_s": null, "total_s": 0.00192} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.11151000000000001, "round_s": null, "total_s": 0.11151000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.10922, "round_s": null, "total_s": 0.10922} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.10925, "round_s": null, "total_s": 0.10925} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.0598, "round_s": null, "total_s": 0.0598} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05941, "round_s": null, "total_s": 0.05941} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.059680000000000004, "round_s": null, "total_s": 0.059680000000000004} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05938, "round_s": null, "total_s": 0.05938} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.060270000000000004, "round_s": null, "total_s": 0.060270000000000004} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.06004, "round_s": null, "total_s": 0.06004} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00268, "round_s": null, "total_s": 0.00268} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00272, "round_s": null, "total_s": 0.00272} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00267, "round_s": null, "total_s": 0.00267} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00289, "round_s": null, "total_s": 0.00289} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00286, "round_s": null, "total_s": 0.00286} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00282, "round_s": null, "total_s": 0.00282} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00061421, "round_s": null, "total_s": 0.00061421} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00066842, "round_s": null, "total_s": 0.00066842} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00066612, "round_s": null, "total_s": 0.00066612} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0018000000000000002, "round_s": null, "total_s": 0.0018000000000000002} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0017900000000000001, "round_s": null, "total_s": 0.0017900000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0017800000000000001, "round_s": null, "total_s": 0.0017800000000000001} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00053921, "round_s": null, "total_s": 0.00053921} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00056967, "round_s": null, "total_s": 0.00056967} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.0005720399999999999, "round_s": null, "total_s": 0.0005720399999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.0007171699999999999, "round_s": null, "total_s": 0.0007171699999999999} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00077621, "round_s": null, "total_s": 0.00077621} +{"date": "2026-09-04", "rev": "50e30257", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.0007948300000000001, "round_s": null, "total_s": 0.0007948300000000001} diff --git a/interactive/bench/reports/2026-09-04-50e30257-aoc-shapememo.md b/interactive/bench/reports/2026-09-04-50e30257-aoc-shapememo.md new file mode 100644 index 000000000..e0a8acd1c --- /dev/null +++ b/interactive/bench/reports/2026-09-04-50e30257-aoc-shapememo.md @@ -0,0 +1,37 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | vec/corgi w1 | +|---|---|---|---| +| aoc01p1 | 271µs (n=3) | 169µs (n=3) | 0.62x | +| aoc01p2 | 675µs (n=3) | 415µs (n=3) | 0.61x | +| aoc02p1 | 223µs (n=3) | 130µs (n=3) | 0.58x | +| aoc02p2 | 320µs (n=3) | 201µs (n=3) | 0.63x | +| aoc03p1 | 2.1ms (n=3) | 1.9ms (n=3) | 0.90x | +| aoc03p2 | 2.1ms (n=3) | 1.8ms (n=3) | 0.85x | +| aoc04p1 | 604µs (n=3) | 426µs (n=3) | 0.71x | +| aoc04p2 | 1.4ms (n=3) | 1.1ms (n=3) | 0.75x | +| aoc05p1 | 2.6ms (n=3) | 3.3ms (n=3) | 1.28x | +| aoc05p2 | 12.2ms (n=3) | 16.0ms (n=3) | 1.31x | +| aoc06p1 | 3.6ms (n=3) | 1.7ms (n=3) | 0.47x | +| aoc07p1 | 993µs (n=3) | 459µs (n=3) | 0.46x | +| aoc07p2 | 1.4ms (n=3) | 517µs (n=3) | 0.38x | +| aoc10p1 | 21.4ms (n=3) | 15.3ms (n=3) | 0.72x | +| aoc10p2 | 50.1ms (n=3) | 42.9ms (n=3) | 0.86x | +| aoc11p1 | 879.4ms (n=3) | 996.2ms (n=3) | 1.13x | +| aoc11p2 | 878.7ms (n=3) | 997.5ms (n=3) | 1.14x | +| aoc13p1 | 2.9ms (n=3) | 4.9ms (n=3) | 1.68x | +| aoc13p2 | 8.0ms (n=3) | 17.2ms (n=3) | 2.15x | +| aoc14p1 | 462µs (n=3) | 399µs (n=3) | 0.86x | +| aoc14p2 | 200.8ms (n=3) | 142.6ms (n=3) | 0.71x | +| aoc15p1 | 830µs (n=3) | 976µs (n=3) | 1.18x | +| aoc15p2 | 505µs (n=3) | 522µs (n=3) | 1.03x | +| aoc16p1 | 1.9ms (n=3) | 1.6ms (n=3) | 0.84x | +| aoc16p2 | 109.2ms (n=3) | 93.6ms (n=3) | 0.86x | +| aoc17p1 | 59.7ms (n=3) | 46.9ms (n=3) | 0.79x | +| aoc17p2 | 60.0ms (n=3) | 56.3ms (n=3) | 0.94x | +| aoc18p1 | 2.7ms (n=3) | 1.4ms (n=3) | 0.52x | +| aoc18p2 | 2.9ms (n=3) | 1.5ms (n=3) | 0.53x | +| aoc19p1 | 666µs (n=3) | 372µs (n=3) | 0.56x | +| aoc19p2 | 1.8ms (n=3) | 794µs (n=3) | 0.44x | +| aoc22p1 | 570µs (n=3) | 439µs (n=3) | 0.77x | +| aoc22p2 | 776µs (n=3) | 630µs (n=3) | 0.81x | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index ff7a50061..c404eae87 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -74,6 +74,22 @@ churn epoch (was 18%), half of it the ref comparisons of the lookup (`ColTimes::cmp_cross`), the rest `emit`/`push_range`/`gather_lanes` — building the output chunk. The corgi gate passes. +## 7. Done: corgi's typer re-lowered nested conditionals 3^depth times + +Profiling AoC day 7 installed sixty times in one session (`bench/`, corgi): +56% of the worker's time was `logic::compile` → `shape_of_term` → `compile` … +— `compile` asks `shape_of_term` for each `if` branch's shape before compiling +it, and every ask is a full scratch lowering plus a `corgi::shape_of` +evaluation, so five-deep `if`s were lowered hundreds of times. `shape_of_term` +is now memoized (term address + environment shapes + expected shape) for the +span of one top-level lowering. Day 7 part 1's tick: 7.0 → 3.4 ms on corgi +(vec: 1.4 ms). All tests and the 33 AoC parts pass. Also pinned the join +projection's compiled graph per operator (it was recompiled per output block). + +The other 29% of that session was the server's command loop sleeping 1 ms +between polls — latency in the harness, not compute, but it is what a client +of many small programs would feel. + ## Next 2. `find_ranges` galloping search (corgi repo). diff --git a/interactive/src/corgi/logic.rs b/interactive/src/corgi/logic.rs index 3b54e17ac..f3485346e 100644 --- a/interactive/src/corgi/logic.rs +++ b/interactive/src/corgi/logic.rs @@ -16,6 +16,7 @@ //! corgi's message. Ordered compares are signed-correct (`ToSigned`); `hash` is corgi's structural //! `Op::Hash`, the same function `ir::eval` folds row-wise. +use std::collections::HashMap; use crate::ir::Value as DValue; use crate::parse::{BinOp, SumTy, Term, UnOp}; @@ -159,12 +160,51 @@ pub fn untranscode(col: CValue, shape: &Shape) -> Vec { /// The shape of a term in an environment — corgi's typer, asked through a scratch lowering. /// `expected` is the shape an enclosing `if` or `case` arm already fixed; it fills the lane a /// built-in `None`/`Ok`/`Err` cannot fix from its payload. +/// +/// Memoized within one top-level lowering. `compile` asks for the shapes of an `if`'s branches +/// (and a `case`'s arms, a fold's parts, ...) before compiling them, and each ask is itself a +/// full lowering of that subterm — so nested conditionals re-lowered their subtrees once per +/// enclosing level, 3^depth in all. AoC day 7 (five-deep `if`s) spent half its install time +/// there. The memo is keyed by the term's address, so it lives only as long as the outermost +/// `compile` or `shape_of_term` on this thread; no address can be met again with a different +/// term behind it. pub fn shape_of_term(t: &Term, env_shapes: &[Shape], expected: Option<&Shape>) -> Res { - let mut b = Builder::::default(); - let inp = b.input(); - let env: Vec = (0..env_shapes.len()).map(|i| b.add(Op::Field(i), vec![inp])).collect(); - let out = compile(t, &mut b, &env, env_shapes, inp, expected)?; - corgi::shape_of(&b.finish(out), &Shape::Prod(env_shapes.to_vec())) + let key = (t as *const Term as usize, env_shapes.to_vec(), expected.cloned()); + if let Some(known) = SHAPE_MEMO.with(|m| m.borrow().1.get(&key).cloned()) { + return known; + } + memo_enter(); + let result = (|| { + let mut b = Builder::::default(); + let inp = b.input(); + let env: Vec = (0..env_shapes.len()).map(|i| b.add(Op::Field(i), vec![inp])).collect(); + let out = compile(t, &mut b, &env, env_shapes, inp, expected)?; + corgi::shape_of(&b.finish(out), &Shape::Prod(env_shapes.to_vec())) + })(); + SHAPE_MEMO.with(|m| m.borrow_mut().1.insert(key, result.clone())); + memo_exit(); + result +} + +thread_local! { + /// `(nesting depth, memo)` for [`shape_of_term`]: the depth counts live `compile` / + /// `shape_of_term` frames on this thread, and the memo is dropped when it returns to zero. + static SHAPE_MEMO: std::cell::RefCell<(usize, HashMap<(usize, Vec, Option), Res>)> = + std::cell::RefCell::new((0, HashMap::new())); +} + +fn memo_enter() { + SHAPE_MEMO.with(|m| m.borrow_mut().0 += 1); +} + +fn memo_exit() { + SHAPE_MEMO.with(|m| { + let mut m = m.borrow_mut(); + m.0 -= 1; + if m.0 == 0 { + m.1.clear(); + } + }); } /// Does `t` read anything outside its own `depth` innermost binders — an input row (`Var`) or an @@ -276,6 +316,20 @@ pub fn compile( env_shapes: &[Shape], anchor: usize, expected: Option<&Shape>, +) -> Res { + memo_enter(); + let result = compile_term(term, b, env, env_shapes, anchor, expected); + memo_exit(); + result +} + +fn compile_term( + term: &Term, + b: &mut Builder, + env: &[usize], + env_shapes: &[Shape], + anchor: usize, + expected: Option<&Shape>, ) -> Res { match term { Term::Var(i) => env.get(*i).copied().ok_or_else(|| format!("`${i}` is not in scope here")), From 29bc8933bf30e171cc3031a81a4cc41ea2a7b154 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 10:13:14 -0400 Subject: [PATCH 08/25] DDIR: connected components and triangle counting as example programs cc.ddp propagates the least reachable node id over the edges read as undirected, staggered by magnitude as scc does; triangles.ddp counts a < b < c closures with two joins and no recursion. Both are in the corgi gate and in the benchmark harness, where the join-only program shows corgi's widest lead (2.4x per churn epoch at one worker). Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/README.md | 2 +- interactive/bench/bench.py | 2 ++ .../2026-09-04-8c669763-medium-graph2.jsonl | 24 +++++++++++++++++++ .../2026-09-04-8c669763-medium-graph2.md | 13 ++++++++++ .../bench/reports/2026-09-04-findings.md | 15 ++++++++++++ interactive/examples/programs/cc.ddp | 16 +++++++++++++ interactive/examples/programs/triangles.ddp | 17 +++++++++++++ interactive/tests/corgi_backend.rs | 5 ++++ 8 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 interactive/bench/reports/2026-09-04-8c669763-medium-graph2.jsonl create mode 100644 interactive/bench/reports/2026-09-04-8c669763-medium-graph2.md create mode 100644 interactive/examples/programs/cc.ddp create mode 100644 interactive/examples/programs/triangles.ddp diff --git a/interactive/bench/README.md b/interactive/bench/README.md index 19612cf60..c0fea15ff 100644 --- a/interactive/bench/README.md +++ b/interactive/bench/README.md @@ -19,7 +19,7 @@ cargo build --release -p interactive --example ddir_server | name | program | input | |---|---|---| -| scc, kcore, adt, ast, unnest | `examples/programs/` | a seeded random graph, `random:nodes=N,edges=2N,churn=C` | +| scc, cc, triangles, kcore, adt, ast, unnest | `examples/programs/` | a seeded random graph, `random:nodes=N,edges=2N,churn=C` | | reach, tour | same | the graph plus one root, `feed p 1 0` | | stable | same | random 4-field rows (`arity=4`), the preference edges | | aocDDpP | `examples/aoc2023/dayDD/partP.ddp` | the transcribed fact file, one epoch, no churn | diff --git a/interactive/bench/bench.py b/interactive/bench/bench.py index c4e212f0d..2514b6176 100755 --- a/interactive/bench/bench.py +++ b/interactive/bench/bench.py @@ -49,6 +49,8 @@ def graph(nodes, edges, churn, arity=2, seed=0): # returns the commands between `install` and the ticks. WORKLOADS = { "scc": ("examples/programs/scc.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), + "cc": ("examples/programs/cc.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), + "triangles": ("examples/programs/triangles.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), "reach": ("examples/programs/reach.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}", "feed p 1 0"]), "kcore": ("examples/programs/kcore.ddir", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), "stable": ("examples/programs/stable.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c, arity=4)}"]), diff --git a/interactive/bench/reports/2026-09-04-8c669763-medium-graph2.jsonl b/interactive/bench/reports/2026-09-04-8c669763-medium-graph2.jsonl new file mode 100644 index 000000000..005b5c1b4 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-8c669763-medium-graph2.jsonl @@ -0,0 +1,24 @@ +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.82976, "round_s": 0.023799999999999998, "total_s": 2.0197599999999998} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.8152100000000001, "round_s": 0.023799999999999998, "total_s": 2.00521} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.81668, "round_s": 0.023799999999999998, "total_s": 2.00668} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.14056000000000002, "round_s": 0.0010556, "total_s": 0.19334} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.14158, "round_s": 0.0010634, "total_s": 0.19475} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.13836, "round_s": 0.0010398, "total_s": 0.19035000000000002} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18693, "round_s": 0.0085478, "total_s": 0.61432} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.26794, "round_s": 0.0085728, "total_s": 0.69658} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19, "round_s": 0.008704, "total_s": 0.6252} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.04318, "round_s": 0.0004396, "total_s": 0.06516} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.04222, "round_s": 0.000429, "total_s": 0.06367} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.04197, "round_s": 0.0004306, "total_s": 0.0635} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.5771799999999999, "round_s": 0.015148800000000002, "total_s": 1.3346200000000001} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.5702699999999999, "round_s": 0.0151402, "total_s": 1.32728} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.5737000000000001, "round_s": 0.0150468, "total_s": 1.32604} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.09198, "round_s": 0.0004396, "total_s": 0.11396} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.09290000000000001, "round_s": 0.0004416, "total_s": 0.11498000000000001} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.09047, "round_s": 0.00042720000000000003, "total_s": 0.11183} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19171000000000002, "round_s": 0.0060702, "total_s": 0.49522} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18552000000000002, "round_s": 0.0060872, "total_s": 0.48988000000000004} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18838, "round_s": 0.0060682, "total_s": 0.49179} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.0342, "round_s": 0.00028920000000000004, "total_s": 0.04866} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.03456, "round_s": 0.0002932, "total_s": 0.04922} +{"date": "2026-09-04", "rev": "8c669763", "dirty": true, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.03585, "round_s": 0.0002928, "total_s": 0.05049} diff --git a/interactive/bench/reports/2026-09-04-8c669763-medium-graph2.md b/interactive/bench/reports/2026-09-04-8c669763-medium-graph2.md new file mode 100644 index 000000000..1a4688629 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-8c669763-medium-graph2.md @@ -0,0 +1,13 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| cc | 573.7ms (n=3) | 816.7ms (n=3) | 188.4ms (n=3) | 190.0ms (n=3) | 1.42x | 1.01x | +| triangles | 92.0ms (n=3) | 140.6ms (n=3) | 34.6ms (n=3) | 42.2ms (n=3) | 1.53x | 1.22x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| cc | 15.1ms (n=3) | 23.8ms (n=3) | 6.1ms (n=3) | 8.6ms (n=3) | 1.57x | 1.41x | +| triangles | 440µs (n=3) | 1.1ms (n=3) | 293µs (n=3) | 431µs (n=3) | 2.40x | 1.47x | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index c404eae87..858cce680 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -90,6 +90,21 @@ The other 29% of that session was the server's command loop sleeping 1 ms between polls — latency in the harness, not compute, but it is what a client of many small programs would feel. +## 8. Two more graph workloads: cc and triangles + +`examples/programs/cc.ddp` (connected components, min-label propagation with +the same `enter_at` staggering scc uses) and `triangles.ddp` (two joins, no +recursion) are in the gate and the harness. Medium, 3 runs: + +| | corgi w1 | vec w1 | corgi w4 | vec w4 | +|---|---|---|---|---| +| cc initial / churn | 574 ms / 15.1 ms | 817 ms / 23.8 ms | 188 ms / 6.1 ms | 190 ms / 8.6 ms | +| triangles initial / churn | 92 ms / 0.44 ms | 141 ms / 1.1 ms | 35 ms / 0.29 ms | 42 ms / 0.43 ms | + +The join-only program is where corgi's lead is widest (2.4x per churn epoch +at one worker). Note `distinct` erases values (GAPS.md #11's neighbour), so +triangles re-keys around it. + ## Next 2. `find_ranges` galloping search (corgi repo). diff --git a/interactive/examples/programs/cc.ddp b/interactive/examples/programs/cc.ddp new file mode 100644 index 000000000..d33a0a9b2 --- /dev/null +++ b/interactive/examples/programs/cc.ddp @@ -0,0 +1,16 @@ +-- Connected components: every node takes the least node id it can reach, +-- over the edges read as undirected. +-- input 0: edges (src, dst ;) + +let edges = input 0 | key($0[0] ; $0[1]); +let sym = edges + (edges | key($1 ; $0)); + +cc: { + -- Each node proposes itself, introduced in rounds by magnitude (as scc + -- does), so the small labels that win settle first. + let nodes = sym | key($0 ; $0) | enter_at($1[0]); + let prop = label | join(sym, ($2 ; $1)); + var label = nodes + prop | min; +} + +export "result" = cc::label | arrange; diff --git a/interactive/examples/programs/triangles.ddp b/interactive/examples/programs/triangles.ddp new file mode 100644 index 000000000..c2945731c --- /dev/null +++ b/interactive/examples/programs/triangles.ddp @@ -0,0 +1,17 @@ +-- Triangle counting: the number of node triples a < b < c with edges ab, bc +-- and ac. Two joins and no recursion: the join-heavy shape. +-- input 0: edges (src, dst ;) + +let edges = input 0 | filter($0[0] < $0[1]) | key($0[0], $0[1] ;) | distinct | key($0[0] ; $0[1]); +-- (a ; b) with a < b, once each (`distinct` keeps keys only, hence the re-key) + +let by_b = edges | key($1 ; $0); +-- (b ; a) +let paths = by_b | join(edges, ($1[0], $2[0] ; $0[0])); +-- (a, c ; b): two-step paths a -> b -> c +let closing = edges | key($0[0], $1[0] ;); +-- (a, c ;) +let tri = paths | join(closing, ($0 ; $1)); +-- (a, c ; b): the closed ones + +export "result" = tri | key(;) | count | arrange | inspect(triangles); diff --git a/interactive/tests/corgi_backend.rs b/interactive/tests/corgi_backend.rs index 914a78923..730c5fa41 100644 --- a/interactive/tests/corgi_backend.rs +++ b/interactive/tests/corgi_backend.rs @@ -21,6 +21,9 @@ fn inputs_for(prog: &str) -> Vec> { match prog { "reach" => vec![edges, rows(&[&[1]])], "scc" => vec![edges], + "cc" => vec![rows(&[&[1, 2], &[2, 3], &[5, 6], &[7, 7], &[9, 8]])], + // triangles: {1,2,3} and {2,3,4} close; {1,3,4} does not; a duplicate and a self-loop. + "triangles" => vec![rows(&[&[1, 2], &[2, 3], &[1, 3], &[3, 4], &[2, 4], &[4, 1], &[1, 2], &[5, 5]])], // stable: edges (l_node, l_pref, r_node, r_pref) "stable" => vec![rows(&[&[1, 1, 10, 1], &[1, 2, 11, 1], &[2, 1, 10, 2], &[2, 2, 11, 2]])], "unnest" => vec![rows(&[&[1, 2], &[3, 4]])], @@ -113,6 +116,8 @@ fn serializing(n: usize) -> timely::Config { #[test] fn reach() { assert_backends_agree("reach"); } #[test] fn scc() { assert_backends_agree("scc"); } +#[test] fn cc() { assert_backends_agree("cc"); } +#[test] fn triangles() { assert_backends_agree("triangles"); } #[test] fn stable() { assert_backends_agree("stable"); } #[test] fn unnest() { assert_backends_agree("unnest"); } #[test] fn adt() { assert_backends_agree("adt"); } From 9df7b5298661a481a40d9f118212e73cac003188 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 10:14:11 -0400 Subject: [PATCH 09/25] DDIR bench: four-worker profile and the TPC-H/LDBC assessment in the findings Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../bench/reports/2026-09-04-findings.md | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 858cce680..2cfa3f401 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -105,13 +105,37 @@ The join-only program is where corgi's lead is widest (2.4x per churn epoch at one worker). Note `distinct` erases values (GAPS.md #11's neighbour), so triangles re-keys around it. +## 9. Four workers: a quarter idle, a fifth coordinating + +scc on corgi at medium, 4 workers, churn epochs (worker 1 is representative): +`step_or_park` self time is 24% (parked or spinning with nothing to do), +progress tracking and channel polling another ~20% (`propagate_pointstamps`, +`ChangeBatch::compact`, `MutableAntichain::rebuild`, `Tracker::propagate_all`, +`Process::receive`), and operator work about 55%. An epoch of 100 changed +rows spread over 4 workers is 25 rows each; the per-epoch, per-iteration +coordination is the same size regardless. This is timely's cost, not +corgi's, and the `timely-barrier-sync` work (park/unpark, idle spin) is the +lever; an open-loop `tick n sync=k` in the server would show how much of it +pipelining hides. + +## 10. TPC-H and LDBC: what stands in the way + +DDIR is integer-only and has no `sum`/`max` reducer, no division, and no +strings (`aoc2023/GAPS.md`). TPC-H Q1/Q3/Q5/Q6 need `sum` over decimals and +string equality on dictionary-coded columns. The AoC route works here too: a +`transcribe.py`-style step over `dbgen` output (strings → ids, decimals ×100, +dates → day numbers) gives integer fact files `load` can read; `count` and +`min` exist, `sum` does not, so the aggregate queries wait on a `sum` +reducer (or the multiplicity trick: `map` each row to weight `amount`, then +`count` — needs a `weigh` operator). LDBC SNB's interactive short queries are +graph-shaped and integer-encodable the same way, but its datagen is a Spark +job; a small pre-generated SF is the practical input. Neither data set is on +this machine (`~/Projects/datasets` holds only flowlog). + ## Next 2. `find_ranges` galloping search (corgi repo). 3. A hierarchical-`min` rewrite in the DDIR optimizer, or at least an ast variant that keys on more than 16 buckets to show the difference. -4. An `advance n` (close epochs without waiting) server command for the - open-loop regime. -5. TPC-H: DDIR is integer-only, so a `transcribe.py`-style step over dbgen - output (dictionary-encode strings, scale decimals) feeding Q1/Q3/Q5-shaped - DDIR programs; LDBC after that. +4. `tick n sync=k` (close epochs, wait every k) for the open-loop regime. +5. A `sum` reducer, then TPC-H by transcription (section 10). From 6583fb26125b4771840d1cd9dba49b79c8b3500a Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 11:56:51 -0400 Subject: [PATCH 10/25] DDIR bench: the open-loop tick is blocked by leave_dynamic's singleton stamps Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/reports/2026-09-04-findings.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 2cfa3f401..296d01742 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -132,10 +132,24 @@ graph-shaped and integer-encodable the same way, but its datagen is a Spark job; a small pre-generated SF is the practical input. Neither data set is on this machine (`~/Projects/datasets` holds only flowlog). +## 11. Tried: an open-loop `tick n sync=k` — blocked in DD's dynamic scope + +Splitting the server's `tick` into `advance` (close the epoch, don't wait) +and `settle` (wait, feed back, compact) is a dozen lines, and `tick 10 +sync=5` then has two epochs in flight. Every workload with an iterative scope +panics at once: `leave_dynamic` (DD's `dynamic` module) reads each message's +stamp with `time()`, which insists on a singleton, and a message carrying +work for epoch 1 at iteration 4 and epoch 2 at iteration 2 has a two-element +antichain stamp under the new timely. So overlapping epochs are not something +DDIR programs can do today, on either backend; the open-loop regime the old +harness's `--sync=K` named is unavailable until `leave_dynamic` (and whatever +else calls `time()` on the dynamic timestamp) handles multi-element stamps. +Reverted; nothing shipped. + ## Next 2. `find_ranges` galloping search (corgi repo). 3. A hierarchical-`min` rewrite in the DDIR optimizer, or at least an ast variant that keys on more than 16 buckets to show the difference. -4. `tick n sync=k` (close epochs, wait every k) for the open-loop regime. +4. `leave_dynamic` over multi-element stamps, then `tick n sync=k` (section 11). 5. A `sum` reducer, then TPC-H by transcription (section 10). From 065c4b73287f1b655c29b5389236b1a441506a8b Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:07:03 -0400 Subject: [PATCH 11/25] DDIR bench: large-scale sweep (kcore does not scale) Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../reports/2026-09-04-b06adbc5-large.jsonl | 40 +++++++++++++++++++ .../reports/2026-09-04-b06adbc5-large.md | 19 +++++++++ .../bench/reports/2026-09-04-findings.md | 14 +++++++ 3 files changed, 73 insertions(+) create mode 100644 interactive/bench/reports/2026-09-04-b06adbc5-large.jsonl create mode 100644 interactive/bench/reports/2026-09-04-b06adbc5-large.md diff --git a/interactive/bench/reports/2026-09-04-b06adbc5-large.jsonl b/interactive/bench/reports/2026-09-04-b06adbc5-large.jsonl new file mode 100644 index 000000000..278199686 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-b06adbc5-large.jsonl @@ -0,0 +1,40 @@ +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 37.59, "round_s": 1.3885, "total_s": 65.36} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 37.62, "round_s": 1.3880000000000001, "total_s": 65.38} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "cc", "backend": "vec", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 10.82, "round_s": 0.254, "total_s": 15.9} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "cc", "backend": "vec", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 10.87, "round_s": 0.256, "total_s": 15.989999999999998} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 10, "rows": 2000000, "load_s": 2.46, "round_s": 0.181, "total_s": 6.08} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 10, "rows": 2000000, "load_s": 2.46, "round_s": 0.18, "total_s": 6.0600000000000005} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 21, "rows": 2000000, "load_s": 16.03, "round_s": 0.12, "total_s": 18.43} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 21, "rows": 2000000, "load_s": 16.16, "round_s": 0.119, "total_s": 18.54} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "triangles", "backend": "vec", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 15, "rows": 2000000, "load_s": 1.75, "round_s": 0.0118895, "total_s": 1.98779} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "triangles", "backend": "vec", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 15, "rows": 2000000, "load_s": 1.74, "round_s": 0.01178, "total_s": 1.9756} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 12.8, "round_s": 0.5185, "total_s": 23.17} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 12.64, "round_s": 0.5195000000000001, "total_s": 23.03} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "cc", "backend": "vec", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 2.72, "round_s": 0.091, "total_s": 4.54} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "cc", "backend": "vec", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 3.84, "round_s": 0.0905, "total_s": 5.65} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 10, "rows": 2000000, "load_s": 0.8656, "round_s": 0.062, "total_s": 2.1056} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 10, "rows": 2000000, "load_s": 0.87137, "round_s": 0.063, "total_s": 2.13137} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 21, "rows": 2000000, "load_s": 11.56, "round_s": 0.0995, "total_s": 13.55} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 21, "rows": 2000000, "load_s": 11.55, "round_s": 0.098, "total_s": 13.510000000000002} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "triangles", "backend": "vec", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 15, "rows": 2000000, "load_s": 0.5765399999999999, "round_s": 0.004173, "total_s": 0.6599999999999999} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "triangles", "backend": "vec", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 15, "rows": 2000000, "load_s": 0.58766, "round_s": 0.004157, "total_s": 0.6708} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 25.25, "round_s": 0.701, "total_s": 39.269999999999996} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 25.24, "round_s": 0.6980000000000001, "total_s": 39.2} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "cc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 8.05, "round_s": 0.1775, "total_s": 11.600000000000001} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "cc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 7.8, "round_s": 0.1775, "total_s": 11.35} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 10, "rows": 2000000, "load_s": 2.22, "round_s": 0.124, "total_s": 4.7} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 10, "rows": 2000000, "load_s": 2.23, "round_s": 0.12450000000000001, "total_s": 4.720000000000001} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 21, "rows": 2000000, "load_s": 11.56, "round_s": 0.087, "total_s": 13.3} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 21, "rows": 2000000, "load_s": 11.55, "round_s": 0.08499999999999999, "total_s": 13.25} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 15, "rows": 2000000, "load_s": 1.22, "round_s": 0.005403, "total_s": 1.32806} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 15, "rows": 2000000, "load_s": 1.22, "round_s": 0.0054020000000000006, "total_s": 1.3280399999999999} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 8.22, "round_s": 0.28500000000000003, "total_s": 13.920000000000002} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 8.51, "round_s": 0.2855, "total_s": 14.219999999999999} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "cc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 2.37, "round_s": 0.0605, "total_s": 3.58} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "cc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 2.31, "round_s": 0.061, "total_s": 3.5300000000000002} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 10, "rows": 2000000, "load_s": 0.75072, "round_s": 0.0471495, "total_s": 1.69371} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 10, "rows": 2000000, "load_s": 0.7556, "round_s": 0.0470415, "total_s": 1.69643} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 21, "rows": 2000000, "load_s": 10.14, "round_s": 0.08199999999999999, "total_s": 11.780000000000001} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 21, "rows": 2000000, "load_s": 10.04, "round_s": 0.081, "total_s": 11.66} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 15, "rows": 2000000, "load_s": 0.39065, "round_s": 0.0018204999999999999, "total_s": 0.42706} +{"date": "2026-09-04", "rev": "b06adbc5", "dirty": false, "scale": "large", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 15, "rows": 2000000, "load_s": 0.41905000000000003, "round_s": 0.0018275, "total_s": 0.4556} diff --git a/interactive/bench/reports/2026-09-04-b06adbc5-large.md b/interactive/bench/reports/2026-09-04-b06adbc5-large.md new file mode 100644 index 000000000..f251cab3a --- /dev/null +++ b/interactive/bench/reports/2026-09-04-b06adbc5-large.md @@ -0,0 +1,19 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| cc | 7.93s (n=2) | 10.84s (n=2) | 2.34s (n=2) | 3.28s (n=2) | 1.37x | 1.40x | +| kcore | 11.55s (n=2) | 16.09s (n=2) | 10.09s (n=2) | 11.55s (n=2) | 1.39x | 1.15x | +| reach | 2.23s (n=2) | 2.46s (n=2) | 753.2ms (n=2) | 868.5ms (n=2) | 1.11x | 1.15x | +| scc | 25.24s (n=2) | 37.61s (n=2) | 8.37s (n=2) | 12.72s (n=2) | 1.49x | 1.52x | +| triangles | 1.22s (n=2) | 1.75s (n=2) | 404.9ms (n=2) | 582.1ms (n=2) | 1.43x | 1.44x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| cc | 177.5ms (n=2) | 255.0ms (n=2) | 60.8ms (n=2) | 90.8ms (n=2) | 1.44x | 1.49x | +| kcore | 86.0ms (n=2) | 119.5ms (n=2) | 81.5ms (n=2) | 98.8ms (n=2) | 1.39x | 1.21x | +| reach | 124.2ms (n=2) | 180.5ms (n=2) | 47.1ms (n=2) | 62.5ms (n=2) | 1.45x | 1.33x | +| scc | 699.5ms (n=2) | 1.39s (n=2) | 285.2ms (n=2) | 519.0ms (n=2) | 1.98x | 1.82x | +| triangles | 5.4ms (n=2) | 11.8ms (n=2) | 1.8ms (n=2) | 4.2ms (n=2) | 2.19x | 2.28x | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 296d01742..b3f36013e 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -146,6 +146,20 @@ harness's `--sync=K` named is unavailable until `leave_dynamic` (and whatever else calls `time()` on the dynamic timestamp) handles multi-element stamps. Reverted; nothing shipped. +## 12. Large scale (1M nodes, 2M edges, churn 1000, 20 epochs; 2 runs) + +| | corgi w1 | vec w1 | corgi w4 | vec w4 | corgi w4/w1 | +|---|---|---|---|---|---| +| scc initial / churn | 25.2 s / 700 ms | 37.6 s / 1.39 s | 8.4 s / 285 ms | 12.7 s / 519 ms | 3.0x / 2.5x | +| cc | 7.9 s / 178 ms | 10.8 s / 255 ms | 2.3 s / 61 ms | 3.3 s / 91 ms | 3.4x / 2.9x | +| reach | 2.2 s / 124 ms | 2.5 s / 181 ms | 0.75 s / 47 ms | 0.87 s / 63 ms | 3.0x / 2.6x | +| triangles | 1.2 s / 5.4 ms | 1.8 s / 11.8 ms | 0.40 s / 1.8 ms | 0.58 s / 4.2 ms | 3.0x / 3.0x | +| kcore | 11.6 s / 86 ms | 16.1 s / 120 ms | 10.1 s / 82 ms | 11.6 s / 99 ms | **1.1x / 1.1x** | + +corgi is 1.4–2.2x ahead of vec here, and four workers give 2.5–3.4x on +everything except kcore, which does not scale at all: something in +`kcore.ddir` runs on one worker. Worth a four-worker profile. + ## Next 2. `find_ranges` galloping search (corgi repo). From 8680326ee715bb9cc3eca952257be082bed47517 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:09:23 -0400 Subject: [PATCH 12/25] DDIR bench: strip applicative INSPECT taps too; kcore re-timed (it scales) Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/bench.py | 17 +++++++++++- .../2026-09-04-69ac25ff-large-kcore.jsonl | 8 ++++++ .../2026-09-04-69ac25ff-large-kcore.md | 11 ++++++++ .../2026-09-04-69ac25ff-medium-kcore.jsonl | 12 +++++++++ .../2026-09-04-69ac25ff-medium-kcore.md | 11 ++++++++ .../bench/reports/2026-09-04-findings.md | 26 ++++++++++++------- 6 files changed, 74 insertions(+), 11 deletions(-) create mode 100644 interactive/bench/reports/2026-09-04-69ac25ff-large-kcore.jsonl create mode 100644 interactive/bench/reports/2026-09-04-69ac25ff-large-kcore.md create mode 100644 interactive/bench/reports/2026-09-04-69ac25ff-medium-kcore.jsonl create mode 100644 interactive/bench/reports/2026-09-04-69ac25ff-medium-kcore.md diff --git a/interactive/bench/bench.py b/interactive/bench/bench.py index 2514b6176..785092157 100755 --- a/interactive/bench/bench.py +++ b/interactive/bench/bench.py @@ -101,7 +101,22 @@ def without_inspects(program): its "load" time (one unbuffered stderr write per row). The taps are for reading, not for timing, so the benchmark runs the programs without them.""" src = open(os.path.join(CRATE, program)).read() - stripped = re.sub(r"\|\s*inspect\([^)]*\)", "", src) + stripped = re.sub(r"\|\s*inspect\([^)]*\)", "", src) # pipe form: `| inspect(label)` + while (at := stripped.find("INSPECT(")) >= 0: # applicative: `INSPECT(expr, label)` + depth, i = 0, at + len("INSPECT(") + start, comma = i, None + while True: + c = stripped[i] + if c == "(": + depth += 1 + elif c == ")": + if depth == 0: + break + depth -= 1 + elif c == "," and depth == 0 and comma is None: + comma = i + i += 1 + stripped = stripped[:at] + stripped[start:comma] + stripped[i + 1:] tmp = os.path.join(HERE, ".tmp") os.makedirs(tmp, exist_ok=True) path = os.path.join(tmp, os.path.basename(program)) diff --git a/interactive/bench/reports/2026-09-04-69ac25ff-large-kcore.jsonl b/interactive/bench/reports/2026-09-04-69ac25ff-large-kcore.jsonl new file mode 100644 index 000000000..a8c5e8d16 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-69ac25ff-large-kcore.jsonl @@ -0,0 +1,8 @@ +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "large", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 20, "rows": 2000000, "load_s": 8.23, "round_s": 0.053000000000000005, "total_s": 9.290000000000001} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "large", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 20, "rows": 2000000, "load_s": 8.23, "round_s": 0.053500000000000006, "total_s": 9.3} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "large", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 20, "rows": 2000000, "load_s": 3.24, "round_s": 0.019492, "total_s": 3.62984} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "large", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 20, "rows": 2000000, "load_s": 1.3, "round_s": 0.019599000000000002, "total_s": 1.69198} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "large", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 20, "rows": 2000000, "load_s": 4.55, "round_s": 0.025875, "total_s": 5.0675} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "large", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 20, "rows": 2000000, "load_s": 4.55, "round_s": 0.025878500000000006, "total_s": 5.06757} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "large", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 20, "rows": 2000000, "load_s": 1.41, "round_s": 0.009434999999999999, "total_s": 1.5987} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "large", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 20, "rows": 2000000, "load_s": 1.45, "round_s": 0.0095585, "total_s": 1.64117} diff --git a/interactive/bench/reports/2026-09-04-69ac25ff-large-kcore.md b/interactive/bench/reports/2026-09-04-69ac25ff-large-kcore.md new file mode 100644 index 000000000..924cd1c28 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-69ac25ff-large-kcore.md @@ -0,0 +1,11 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| kcore | 4.55s (n=2) | 8.23s (n=2) | 1.43s (n=2) | 2.27s (n=2) | 1.81x | 1.59x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| kcore | 25.9ms (n=2) | 53.3ms (n=2) | 9.5ms (n=2) | 19.5ms (n=2) | 2.06x | 2.06x | diff --git a/interactive/bench/reports/2026-09-04-69ac25ff-medium-kcore.jsonl b/interactive/bench/reports/2026-09-04-69ac25ff-medium-kcore.jsonl new file mode 100644 index 000000000..1a751b083 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-69ac25ff-medium-kcore.jsonl @@ -0,0 +1,12 @@ +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.6568700000000001, "round_s": 0.0052922, "total_s": 0.9214800000000001} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.65605, "round_s": 0.0053006, "total_s": 0.92108} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.65642, "round_s": 0.005268200000000001, "total_s": 0.91983} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.24121, "round_s": 0.0018956, "total_s": 0.33599} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.10336000000000001, "round_s": 0.0019268000000000002, "total_s": 0.19970000000000002} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.24186000000000002, "round_s": 0.0018953999999999998, "total_s": 0.33663} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.28017000000000003, "round_s": 0.0022844000000000002, "total_s": 0.39439} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.27898, "round_s": 0.0022756, "total_s": 0.39276} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.28024, "round_s": 0.0022834, "total_s": 0.39441} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.08532, "round_s": 0.0009116, "total_s": 0.1309} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.08809, "round_s": 0.0008944000000000001, "total_s": 0.13281} +{"date": "2026-09-04", "rev": "69ac25ff", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.08871, "round_s": 0.0008990000000000001, "total_s": 0.13366} diff --git a/interactive/bench/reports/2026-09-04-69ac25ff-medium-kcore.md b/interactive/bench/reports/2026-09-04-69ac25ff-medium-kcore.md new file mode 100644 index 000000000..39c87e1a4 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-69ac25ff-medium-kcore.md @@ -0,0 +1,11 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| kcore | 280.2ms (n=3) | 656.4ms (n=3) | 88.1ms (n=3) | 241.2ms (n=3) | 2.34x | 2.74x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| kcore | 2.3ms (n=3) | 5.3ms (n=3) | 899µs (n=3) | 1.9ms (n=3) | 2.32x | 2.11x | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index b3f36013e..160ac5e73 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -35,7 +35,11 @@ through DD's proxy tactics, sets the pace. - **`inspect` taps**: unnest's "3.2 s load" was 91% `eprint` — one unbuffered stderr write per row, 200k rows. tour's 10 s likewise. The harness now strips `| inspect(..)` from the benchmark copies; unnest is 150 ms, tour - 650 ms. + 650 ms. kcore's applicative `INSPECT(..)` slipped through the first strip + and made kcore look like it did not scale (section 4, 12): four workers + serializing on the stderr lock, 58% of each worker's time in that mutex. + Stripped too, kcore is 280 ms / 2.3 ms per churn epoch at medium on corgi + (was 971 / 8.4) and scales 3.2x to four workers. - **AoC on corgi is slower than vec on 24 of 33 parts**, by up to 12x on the sub-millisecond ones (day07: 6 ms vs 0.5 ms). The inputs are tiny; what shows is a fixed cost per operator per program — corgi compiles each @@ -47,11 +51,12 @@ through DD's proxy tactics, sets the pace. ## 4. Scaling to 4 workers is weak At medium scale, 4 workers give scc 3x on the initial epoch but only 1.8x -per churn epoch; kcore, unnest and tour do not speed up at all, adt and ast -barely. A churn epoch of 100 rows is small enough that the per-epoch -progress-tracking and barrier work (the `timely-barrier-sync` note) is a -large share. The open-loop `--sync=K` regime the old harness had is the -right instrument here and is not in the server yet. +per churn epoch, adt and ast barely more than 1x. (kcore's flat line was its +`INSPECT` tap — section 3.) A churn epoch of 100 rows is small enough that +the per-epoch progress-tracking and barrier work (the `timely-barrier-sync` +note) is a large share; section 9 measures it. The open-loop regime the old +harness's `--sync=K` named would show how much pipelining hides, and section +11 says why it cannot run yet. ## 5. Tried: four inline PointStamp coordinates — no @@ -154,11 +159,12 @@ Reverted; nothing shipped. | cc | 7.9 s / 178 ms | 10.8 s / 255 ms | 2.3 s / 61 ms | 3.3 s / 91 ms | 3.4x / 2.9x | | reach | 2.2 s / 124 ms | 2.5 s / 181 ms | 0.75 s / 47 ms | 0.87 s / 63 ms | 3.0x / 2.6x | | triangles | 1.2 s / 5.4 ms | 1.8 s / 11.8 ms | 0.40 s / 1.8 ms | 0.58 s / 4.2 ms | 3.0x / 3.0x | -| kcore | 11.6 s / 86 ms | 16.1 s / 120 ms | 10.1 s / 82 ms | 11.6 s / 99 ms | **1.1x / 1.1x** | +| kcore (tap stripped) | 4.6 s / 26 ms | 8.2 s / 53 ms | 1.4 s / 9.5 ms | 2.3 s / 19.5 ms | 3.2x / 2.7x | -corgi is 1.4–2.2x ahead of vec here, and four workers give 2.5–3.4x on -everything except kcore, which does not scale at all: something in -`kcore.ddir` runs on one worker. Worth a four-worker profile. +corgi is 1.4–2.3x ahead of vec here, and four workers give 2.5–3.4x across +the board. (The first large run had kcore at 11.6 s and not scaling; that +was its `INSPECT` tap, section 3. The `-large.md` report still shows it; +`-large-kcore.md` is the corrected row.) ## Next From a06c4cc95d9f4d1ed9ac8cb0b123a01816e27d67 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:12:26 -0400 Subject: [PATCH 13/25] DDIR bench: galloping find_ranges is a loss; recorded Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/reports/2026-09-04-findings.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 160ac5e73..fa174880d 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -166,9 +166,23 @@ the board. (The first large run had kcore at 11.6 s and not scaling; that was its `INSPECT` tap, section 3. The `-large.md` report still shows it; `-large-kcore.md` is the corrected row.) +## 13. Tried: `find_ranges` galloping from the previous hit — no + +Each needle's `partition_point` starts from where the previous needle ended +and doubles outward before bisecting (n·log(h/n) steps instead of n·log(h)). +Corgi's tests and a brute-force oracle pass, and scc/cc/reach on corgi at +medium get **slower**: churn epochs 56→62 ms, 15.1→16.6 ms, 10.3→11.4 ms. +The reduce's probe sets are sparse (a few hundred changed keys over 200k +rows), where the doubling loop's data-dependent branches cost more than the +bisection's predictable ones; the dense case already takes the scan path +(`collect_present`'s `SEEK_ADVANTAGE`). Discarded, worktree and branch +removed. `find_ranges`'s 14.5% is the cost of the probes themselves; the +lever there is fewer probes (a per-key change set that skips untouched +chunks), not a cheaper probe. + ## Next -2. `find_ranges` galloping search (corgi repo). +2. Skip chunks a probe set cannot touch (section 13), instead of cheaper probes. 3. A hierarchical-`min` rewrite in the DDIR optimizer, or at least an ast variant that keys on more than 16 buckets to show the difference. 4. `leave_dynamic` over multi-element stamps, then `tick n sync=k` (section 11). From b19e1cfe77e878aeea1a4a841d625b7e02a5744c Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:17:14 -0400 Subject: [PATCH 14/25] Corgi reduce: probe each chunk with its slice of the change set `collect_present` probed every chunk of the arrangement with the whole change set. A batch's chunks partition its key range, so each chunk now takes only the needles inside its own range (two partition_points on the sorted change set) and a chunk with none is skipped. Nothing changes at medium scale (one chunk per batch); at 1M nodes / 2M edges on corgi, one worker, scc's churn epoch goes 700 -> 657 ms and cc's 178 -> 160 ms. Corgi gate passes. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../2026-09-04-a4277c67-large-chunkslice.jsonl | 4 ++++ .../reports/2026-09-04-a4277c67-large-chunkslice.md | 13 +++++++++++++ .../2026-09-04-a4277c67-medium-chunkslice.jsonl | 3 +++ .../2026-09-04-a4277c67-medium-chunkslice.md | 11 +++++++++++ interactive/bench/reports/2026-09-04-findings.md | 11 ++++++++++- interactive/src/corgi/reduce.rs | 13 +++++++++++-- 6 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 interactive/bench/reports/2026-09-04-a4277c67-large-chunkslice.jsonl create mode 100644 interactive/bench/reports/2026-09-04-a4277c67-large-chunkslice.md create mode 100644 interactive/bench/reports/2026-09-04-a4277c67-medium-chunkslice.jsonl create mode 100644 interactive/bench/reports/2026-09-04-a4277c67-medium-chunkslice.md diff --git a/interactive/bench/reports/2026-09-04-a4277c67-large-chunkslice.jsonl b/interactive/bench/reports/2026-09-04-a4277c67-large-chunkslice.jsonl new file mode 100644 index 000000000..c977a7c54 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-a4277c67-large-chunkslice.jsonl @@ -0,0 +1,4 @@ +{"date": "2026-09-04", "rev": "a4277c67", "dirty": true, "scale": "large", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 25.39, "round_s": 0.6565000000000001, "total_s": 38.52} +{"date": "2026-09-04", "rev": "a4277c67", "dirty": true, "scale": "large", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 31, "rows": 2000000, "load_s": 25.19, "round_s": 0.6575, "total_s": 38.34} +{"date": "2026-09-04", "rev": "a4277c67", "dirty": true, "scale": "large", "workload": "cc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 8.05, "round_s": 0.1605, "total_s": 11.260000000000002} +{"date": "2026-09-04", "rev": "a4277c67", "dirty": true, "scale": "large", "workload": "cc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 1000000, "edges": 2000000, "churn": 1000, "rounds": 20, "ops": 11, "rows": 2000000, "load_s": 8.03, "round_s": 0.16, "total_s": 11.23} diff --git a/interactive/bench/reports/2026-09-04-a4277c67-large-chunkslice.md b/interactive/bench/reports/2026-09-04-a4277c67-large-chunkslice.md new file mode 100644 index 000000000..e6904e7dd --- /dev/null +++ b/interactive/bench/reports/2026-09-04-a4277c67-large-chunkslice.md @@ -0,0 +1,13 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | +|---|---| +| cc | 8.04s (n=2) | +| scc | 25.29s (n=2) | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | +|---|---| +| cc | 160.2ms (n=2) | +| scc | 657.0ms (n=2) | diff --git a/interactive/bench/reports/2026-09-04-a4277c67-medium-chunkslice.jsonl b/interactive/bench/reports/2026-09-04-a4277c67-medium-chunkslice.jsonl new file mode 100644 index 000000000..5ca75d482 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-a4277c67-medium-chunkslice.jsonl @@ -0,0 +1,3 @@ +{"date": "2026-09-04", "rev": "a4277c67", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.9, "round_s": 0.055999999999999994, "total_s": 4.699999999999999} +{"date": "2026-09-04", "rev": "a4277c67", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.9, "round_s": 0.055999999999999994, "total_s": 4.699999999999999} +{"date": "2026-09-04", "rev": "a4277c67", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.9, "round_s": 0.055999999999999994, "total_s": 4.699999999999999} diff --git a/interactive/bench/reports/2026-09-04-a4277c67-medium-chunkslice.md b/interactive/bench/reports/2026-09-04-a4277c67-medium-chunkslice.md new file mode 100644 index 000000000..78bb48a7b --- /dev/null +++ b/interactive/bench/reports/2026-09-04-a4277c67-medium-chunkslice.md @@ -0,0 +1,11 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | +|---|---| +| scc | 1.90s (n=3) | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | +|---|---| +| scc | 56.0ms (n=3) | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index fa174880d..74c1883e2 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -180,9 +180,18 @@ removed. `find_ranges`'s 14.5% is the cost of the probes themselves; the lever there is fewer probes (a per-key change set that skips untouched chunks), not a cheaper probe. +## 14. Done: the reduce probes each chunk with its slice of the change set + +`collect_present` probed every chunk of the arrangement with the whole change +set. A batch's chunks partition its key range, so each chunk now gets the +needles inside its own key range (two `partition_point`s on the sorted change +set) and chunks with none are skipped. Medium is unchanged (one chunk per +batch); at large scale, corgi, 1 worker: scc churn 700→657 ms, cc 178→160 ms, +initial epochs unchanged. Corgi gate passes. + ## Next -2. Skip chunks a probe set cannot touch (section 13), instead of cheaper probes. +2. (done, section 14) Skip chunks a probe set cannot touch. 3. A hierarchical-`min` rewrite in the DDIR optimizer, or at least an ast variant that keys on more than 16 buckets to show the difference. 4. `leave_dynamic` over multi-element stamps, then `tick n sync=k` (section 11). diff --git a/interactive/src/corgi/reduce.rs b/interactive/src/corgi/reduce.rs index 63e5281b2..230b545ac 100644 --- a/interactive/src/corgi/reduce.rs +++ b/interactive/src/corgi/reduce.rs @@ -232,7 +232,6 @@ where let mut run_ends = Vec::new(); let total: usize = chunks.iter().map(|c| c.diffs().len()).sum(); let seek = changed.len().saturating_mul(SEEK_ADVANTAGE) < total; - let needles = CValue::u64(changed.to_vec()); // Chunks are id-ordered and `changed` ascends, so either branch emits in merged order. for (ci, ch) in chunks.iter().enumerate() { let before = khs.len(); @@ -241,12 +240,22 @@ where } let lane = key_lane(ch.keys()); if seek { + // Only the needles within this chunk's key range can hit it. A batch's chunks + // partition its key range, so at scale each chunk is probed with its slice of the + // change set rather than the whole of it. + let kh = corgi::arrange::leaf_slice(lane).expect("the identifier lane is a u64 leaf"); + let from = changed.partition_point(|c| *c < kh[0]); + let to = changed.partition_point(|c| *c <= kh[kh.len() - 1]); + if from == to { + continue; + } + let needles = CValue::u64(changed[from..to].to_vec()); let (lo, hi) = find_ranges(&needles, lane); for (j, (&l, &h)) in lo.iter().zip(hi.iter()).enumerate() { for i in l..h { tags.push(ci); offs.push(i); - khs.push(changed[j]); + khs.push(changed[from + j]); times.push(ch.times().get(i)); diffs.push(ch.diffs()[i]); } From 0b308dbfcf7422d2a0428c44f1560560b3c55e50 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:21:20 -0400 Subject: [PATCH 15/25] DDIR bench: standing medium report at 9d23a526 Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../reports/2026-09-04-9d23a526-medium.jsonl | 120 ++++++++++++++++++ .../reports/2026-09-04-9d23a526-medium.md | 29 +++++ .../bench/reports/2026-09-04-findings.md | 3 + 3 files changed, 152 insertions(+) create mode 100644 interactive/bench/reports/2026-09-04-9d23a526-medium.jsonl create mode 100644 interactive/bench/reports/2026-09-04-9d23a526-medium.md diff --git a/interactive/bench/reports/2026-09-04-9d23a526-medium.jsonl b/interactive/bench/reports/2026-09-04-9d23a526-medium.jsonl new file mode 100644 index 000000000..56f1b1eed --- /dev/null +++ b/interactive/bench/reports/2026-09-04-9d23a526-medium.jsonl @@ -0,0 +1,120 @@ +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.55, "round_s": 0.1104, "total_s": 8.07} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.56, "round_s": 0.1104, "total_s": 8.08} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.56, "round_s": 0.1106, "total_s": 8.09} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.82757, "round_s": 0.0242, "total_s": 2.03757} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.83052, "round_s": 0.0242, "total_s": 2.04052} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.84156, "round_s": 0.0242, "total_s": 2.05156} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.14237, "round_s": 0.001051, "total_s": 0.19491999999999998} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.1445, "round_s": 0.0010874, "total_s": 0.19887} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.14451, "round_s": 0.0010994, "total_s": 0.19948} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.19623, "round_s": 0.014051600000000003, "total_s": 0.8988100000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.20102, "round_s": 0.0139632, "total_s": 0.89918} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.1988, "round_s": 0.014320999999999999, "total_s": 0.9148499999999999} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.66228, "round_s": 0.0051624, "total_s": 0.9204} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.6609600000000001, "round_s": 0.0052732000000000005, "total_s": 0.9246200000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.65867, "round_s": 0.005309, "total_s": 0.92412} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.3902, "round_s": 0.0082152, "total_s": 0.80096} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.39403, "round_s": 0.008088999999999999, "total_s": 0.79848} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.39587, "round_s": 0.008205800000000001, "total_s": 0.80616} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.65058, "round_s": 0.0202, "total_s": 1.66058} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.65673, "round_s": 0.02, "total_s": 1.65673} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6559600000000001, "round_s": 0.02, "total_s": 1.65596} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02186, "round_s": 0.0123004, "total_s": 0.63688} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02126, "round_s": 0.012395799999999998, "total_s": 0.6410499999999999} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02154, "round_s": 0.0123956, "total_s": 0.64132} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27399, "round_s": 0.16820000000000002, "total_s": 8.68399} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.26996, "round_s": 0.17, "total_s": 8.76996} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27346, "round_s": 0.16820000000000002, "total_s": 8.68346} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15377000000000002, "round_s": 0.0018759999999999998, "total_s": 0.24757} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.1507, "round_s": 0.0018165999999999998, "total_s": 0.24153} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15153, "round_s": 0.0018337999999999998, "total_s": 0.24322} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.71931, "round_s": 0.046799999999999994, "total_s": 3.05931} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.7102200000000001, "round_s": 0.0466, "total_s": 3.04022} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.72921, "round_s": 0.046799999999999994, "total_s": 3.06921} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.27114, "round_s": 0.0086976, "total_s": 0.70602} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.20562, "round_s": 0.0086634, "total_s": 0.63879} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.2029, "round_s": 0.0087204, "total_s": 0.6389199999999999} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.054130000000000005, "round_s": 0.000433, "total_s": 0.07578} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.04371, "round_s": 0.00043200000000000004, "total_s": 0.06531} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.046579999999999996, "round_s": 0.00042040000000000003, "total_s": 0.0676} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05989, "round_s": 0.005417000000000001, "total_s": 0.33074000000000003} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.06037, "round_s": 0.005321, "total_s": 0.32642} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05976, "round_s": 0.0053524, "total_s": 0.32738} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.10865000000000001, "round_s": 0.001906, "total_s": 0.20395000000000002} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.10612, "round_s": 0.0019038, "total_s": 0.20131} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.1056, "round_s": 0.0019436, "total_s": 0.20278000000000002} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10873000000000001, "round_s": 0.0034382, "total_s": 0.28064} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10751000000000001, "round_s": 0.0034088, "total_s": 0.27795000000000003} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10421, "round_s": 0.0033978, "total_s": 0.2741} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.2171, "round_s": 0.0081276, "total_s": 0.62348} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.22071000000000002, "round_s": 0.0082868, "total_s": 0.63505} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.21324, "round_s": 0.008150000000000001, "total_s": 0.6207400000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.053450000000000004, "round_s": 0.0078634, "total_s": 0.44662} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05173, "round_s": 0.0078384, "total_s": 0.44365000000000004} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05185, "round_s": 0.007856799999999999, "total_s": 0.44469} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.1406, "round_s": 0.1052, "total_s": 5.4006} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14126, "round_s": 0.105, "total_s": 5.39126} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14980000000000002, "round_s": 0.1048, "total_s": 5.3898} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05285, "round_s": 0.0005906, "total_s": 0.08238000000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05247, "round_s": 0.0005928, "total_s": 0.08211} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05762, "round_s": 0.0005856, "total_s": 0.0869} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.91, "round_s": 0.055999999999999994, "total_s": 4.71} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.9, "round_s": 0.055999999999999994, "total_s": 4.699999999999999} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.9, "round_s": 0.055999999999999994, "total_s": 4.699999999999999} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.5833400000000001, "round_s": 0.015458800000000002, "total_s": 1.3562800000000002} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.5866, "round_s": 0.0154176, "total_s": 1.35748} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.58799, "round_s": 0.0154074, "total_s": 1.35836} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.10173, "round_s": 0.0004402, "total_s": 0.12374} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.09898000000000001, "round_s": 0.000439, "total_s": 0.12093000000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.09964, "round_s": 0.000446, "total_s": 0.12194} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17432, "round_s": 0.010303199999999998, "total_s": 0.68948} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17567, "round_s": 0.0103772, "total_s": 0.69453} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17417, "round_s": 0.0103224, "total_s": 0.6902900000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.28211, "round_s": 0.0022836, "total_s": 0.39629000000000003} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.28061, "round_s": 0.0022519999999999997, "total_s": 0.39321} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.28002, "round_s": 0.0022781999999999998, "total_s": 0.39393} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.318, "round_s": 0.005958799999999999, "total_s": 0.6159399999999999} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.3168, "round_s": 0.006039, "total_s": 0.61875} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31724, "round_s": 0.0060178, "total_s": 0.6181300000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6903300000000001, "round_s": 0.013437600000000001, "total_s": 1.3622100000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.69226, "round_s": 0.0134298, "total_s": 1.36375} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.69401, "round_s": 0.0134464, "total_s": 1.36633} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.0275, "round_s": 0.013380999999999999, "total_s": 0.6965499999999999} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02725, "round_s": 0.013488199999999999, "total_s": 0.70166} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02739, "round_s": 0.013411600000000001, "total_s": 0.6979700000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.28091000000000005, "round_s": 0.1728, "total_s": 8.920910000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.28159, "round_s": 0.1722, "total_s": 8.891589999999999} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27815, "round_s": 0.1714, "total_s": 8.84815} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19256, "round_s": 0.0013904, "total_s": 0.26208} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19272999999999998, "round_s": 0.0013756000000000003, "total_s": 0.26151} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19344999999999998, "round_s": 0.0013775999999999999, "total_s": 0.26232999999999995} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.6459900000000001, "round_s": 0.031400000000000004, "total_s": 2.21599} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.63882, "round_s": 0.031400000000000004, "total_s": 2.2088200000000002} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.64197, "round_s": 0.0316, "total_s": 2.2219700000000002} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18653999999999998, "round_s": 0.0060626000000000005, "total_s": 0.48967} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19619, "round_s": 0.0060576, "total_s": 0.49907} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19473, "round_s": 0.0060712, "total_s": 0.49829} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.03515, "round_s": 0.000295, "total_s": 0.0499} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.03588, "round_s": 0.0002958, "total_s": 0.05067} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.0391, "round_s": 0.0002954, "total_s": 0.05387} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05831, "round_s": 0.0050648, "total_s": 0.31155} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.058750000000000004, "round_s": 0.0050824, "total_s": 0.31287000000000004} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05849, "round_s": 0.0050685999999999995, "total_s": 0.31192} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.08568, "round_s": 0.000935, "total_s": 0.13243} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.09778, "round_s": 0.0009234, "total_s": 0.14395000000000002} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.08499, "round_s": 0.0009122, "total_s": 0.1306} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10849, "round_s": 0.0041232000000000005, "total_s": 0.31465} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10848000000000001, "round_s": 0.0041292, "total_s": 0.31494} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.11408, "round_s": 0.0041138, "total_s": 0.31977} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.22716, "round_s": 0.006393200000000001, "total_s": 0.5468200000000001} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.22656, "round_s": 0.0064062, "total_s": 0.54687} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.23047, "round_s": 0.006416799999999999, "total_s": 0.55131} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02178, "round_s": 0.008382200000000001, "total_s": 0.44089000000000006} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.01657, "round_s": 0.0084834, "total_s": 0.44074} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.0185, "round_s": 0.008412000000000001, "total_s": 0.43910000000000005} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14828, "round_s": 0.07400000000000001, "total_s": 3.8482800000000004} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14746, "round_s": 0.0738, "total_s": 3.83746} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14485, "round_s": 0.0738, "total_s": 3.83485} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07892, "round_s": 0.0005304, "total_s": 0.10544} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07453, "round_s": 0.0005596, "total_s": 0.10251} +{"date": "2026-09-04", "rev": "9d23a526", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07, "round_s": 0.000545, "total_s": 0.09725} diff --git a/interactive/bench/reports/2026-09-04-9d23a526-medium.md b/interactive/bench/reports/2026-09-04-9d23a526-medium.md new file mode 100644 index 000000000..18058e576 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-9d23a526-medium.md @@ -0,0 +1,29 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 27.4ms (n=3) | 21.5ms (n=3) | 18.5ms (n=3) | 51.9ms (n=3) | 0.79x | 2.80x | +| ast | 280.9ms (n=3) | 273.5ms (n=3) | 147.5ms (n=3) | 141.3ms (n=3) | 0.97x | 0.96x | +| cc | 586.6ms (n=3) | 830.5ms (n=3) | 194.7ms (n=3) | 205.6ms (n=3) | 1.42x | 1.06x | +| kcore | 280.6ms (n=3) | 661.0ms (n=3) | 85.7ms (n=3) | 106.1ms (n=3) | 2.36x | 1.24x | +| reach | 174.3ms (n=3) | 198.8ms (n=3) | 58.5ms (n=3) | 59.9ms (n=3) | 1.14x | 1.02x | +| scc | 1.90s (n=3) | 2.56s (n=3) | 642.0ms (n=3) | 719.3ms (n=3) | 1.35x | 1.12x | +| stable | 317.2ms (n=3) | 394.0ms (n=3) | 108.5ms (n=3) | 107.5ms (n=3) | 1.24x | 0.99x | +| tour | 692.3ms (n=3) | 656.0ms (n=3) | 227.2ms (n=3) | 217.1ms (n=3) | 0.95x | 0.96x | +| triangles | 99.6ms (n=3) | 144.5ms (n=3) | 35.9ms (n=3) | 46.6ms (n=3) | 1.45x | 1.30x | +| unnest | 192.7ms (n=3) | 151.5ms (n=3) | 74.5ms (n=3) | 52.9ms (n=3) | 0.79x | 0.71x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 13.4ms (n=3) | 12.4ms (n=3) | 8.4ms (n=3) | 7.9ms (n=3) | 0.92x | 0.93x | +| ast | 172.2ms (n=3) | 168.2ms (n=3) | 73.8ms (n=3) | 105.0ms (n=3) | 0.98x | 1.42x | +| cc | 15.4ms (n=3) | 24.2ms (n=3) | 6.1ms (n=3) | 8.7ms (n=3) | 1.57x | 1.43x | +| kcore | 2.3ms (n=3) | 5.3ms (n=3) | 923µs (n=3) | 1.9ms (n=3) | 2.31x | 2.06x | +| reach | 10.3ms (n=3) | 14.1ms (n=3) | 5.1ms (n=3) | 5.4ms (n=3) | 1.36x | 1.06x | +| scc | 56.0ms (n=3) | 110.4ms (n=3) | 31.4ms (n=3) | 46.8ms (n=3) | 1.97x | 1.49x | +| stable | 6.0ms (n=3) | 8.2ms (n=3) | 4.1ms (n=3) | 3.4ms (n=3) | 1.36x | 0.83x | +| tour | 13.4ms (n=3) | 20.0ms (n=3) | 6.4ms (n=3) | 8.2ms (n=3) | 1.49x | 1.27x | +| triangles | 440µs (n=3) | 1.1ms (n=3) | 295µs (n=3) | 432µs (n=3) | 2.47x | 1.46x | +| unnest | 1.4ms (n=3) | 1.8ms (n=3) | 545µs (n=3) | 591µs (n=3) | 1.33x | 1.08x | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 74c1883e2..48b94f6d5 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -1,5 +1,8 @@ # Findings so far (2026-09-04, branch bench-spike) +The standing report at the current head is `2026-09-04-9d23a526-medium.md` +(all workloads, both backends, 1 and 4 workers, medians of 3). + What the first sweeps and profiles say about where DDIR's time goes. Numbers are from this machine (M-series, 1 kHz samply), medians of 3 unless noted. From 114c5beab37e8c737b77e7789317e57a5137d851 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:25:37 -0400 Subject: [PATCH 16/25] DDIR bench: a hierarchical-min variant of ast, measured at three fan-outs Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/bench.py | 1 + interactive/bench/programs/ast_hier.ddp | 46 +++++++++++++++++++ .../2026-09-04-81729d73-medium-hier4096.jsonl | 4 ++ .../2026-09-04-81729d73-medium-hier4096.md | 11 +++++ .../bench/reports/2026-09-04-findings.md | 29 +++++++++++- 5 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 interactive/bench/programs/ast_hier.ddp create mode 100644 interactive/bench/reports/2026-09-04-81729d73-medium-hier4096.jsonl create mode 100644 interactive/bench/reports/2026-09-04-81729d73-medium-hier4096.md diff --git a/interactive/bench/bench.py b/interactive/bench/bench.py index 785092157..950109e29 100755 --- a/interactive/bench/bench.py +++ b/interactive/bench/bench.py @@ -57,6 +57,7 @@ def graph(nodes, edges, churn, arity=2, seed=0): "tour": ("examples/programs/tour.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}", "feed p 1 0"]), "adt": ("examples/programs/adt.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), "ast": ("examples/programs/ast.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), + "ast_hier": ("bench/programs/ast_hier.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), "unnest": ("examples/programs/unnest.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), } diff --git a/interactive/bench/programs/ast_hier.ddp b/interactive/bench/programs/ast_hier.ddp new file mode 100644 index 000000000..7003a7a2b --- /dev/null +++ b/interactive/bench/programs/ast_hier.ddp @@ -0,0 +1,46 @@ +-- ast.ddp with a hierarchical `min` (see `buckets`). Benchmark variant. +-- AST-style compute: the wide per-row bookend. Build a list with arithmetic, explode it, +-- tag each element as a variant, fold the payload, match it back out, and reduce. No joins +-- and no recursion -- this is a compute program, where the columnar backend's scalar logic +-- is the whole cost and the differential machinery is not. +-- +-- Every lowering it needs landed together: `list` intro, columnar `flatmap`, `case` over an +-- `if`-selected constructor, and `fold`. A `list(..)` subterm anywhere makes the WHOLE +-- projection fall back to rows, so a regression in any one of them shows up here as the +-- others going row-wise too. +-- +-- Contract on the inputs: fields must be non-negative and small enough that +-- `$0[0] - $1[0] + 32768` stays non-negative -- corgi's structural order is unsigned at the +-- integer leaf, so signed values are out of contract for `min`. + +type Dir = Fwd u64 | Bwd u64; + +let rows = input 0 | key($0[0] ; $0[1]); + +-- eight derived values per row +let lists = rows | map($0 ; list($0[0], $1[0], $0[0] + $1[0], $0[0] * $1[0], $0[0] - $1[0] + 32768, $1[0] * $1[0], $0[0] * $0[0], $0[0] + $1[0] * $1[0])); + +-- one row per element, carrying its position +let exploded = lists | flatmap($1[0]); + +-- bucket by (position, magnitude); payload folds a four-element list, wrapped in a variant +-- and matched straight back out (the tag is the point, not the payload). +let tagged = exploded + | map( $1[0] + 8 * if($1[1] < 500000, 0, 1) + ; case if($1[1] < 250000, + Fwd(fold(list($0[0], $1[1], $0[0] * $1[1], $1[1] * $1[1]), 0, ^0 + ^1)), + Bwd(fold(list($0[0], $1[1], $0[0] * $1[1], $1[1] * $1[1]), 0, ^0 + ^1))) + { + Fwd(s) => s, + Bwd(s) => s, + } ); + +-- The same `min`, in two stages: split each bucket's rows into 4096 sub-groups by a +-- hash of the value, take the minimum in each, then the minimum of those. A churn +-- epoch then re-reduces a sub-group of ~400 rows and a group of 4096, not a group +-- of 100k. (The rewrite an optimizer would apply to any reduce over few, large groups.) +let buckets = tagged + | map($0[0], hash(4096, $1[0]) ; $1[0]) | min + | map($0[0] ; $1[0]) | min; + +export "result" = buckets | arrange; diff --git a/interactive/bench/reports/2026-09-04-81729d73-medium-hier4096.jsonl b/interactive/bench/reports/2026-09-04-81729d73-medium-hier4096.jsonl new file mode 100644 index 000000000..187984c3f --- /dev/null +++ b/interactive/bench/reports/2026-09-04-81729d73-medium-hier4096.jsonl @@ -0,0 +1,4 @@ +{"date": "2026-09-04", "rev": "81729d73", "dirty": true, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.29302, "round_s": 0.011755999999999999, "total_s": 0.8808199999999999} +{"date": "2026-09-04", "rev": "81729d73", "dirty": true, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.29681, "round_s": 0.0117566, "total_s": 0.8846400000000001} +{"date": "2026-09-04", "rev": "81729d73", "dirty": true, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.49434, "round_s": 0.019652199999999998, "total_s": 1.47695} +{"date": "2026-09-04", "rev": "81729d73", "dirty": true, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.48839, "round_s": 0.0196958, "total_s": 1.47318} diff --git a/interactive/bench/reports/2026-09-04-81729d73-medium-hier4096.md b/interactive/bench/reports/2026-09-04-81729d73-medium-hier4096.md new file mode 100644 index 000000000..e543ebc9c --- /dev/null +++ b/interactive/bench/reports/2026-09-04-81729d73-medium-hier4096.md @@ -0,0 +1,11 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | vec/corgi w1 | +|---|---|---|---| +| ast_hier | 491.4ms (n=2) | 294.9ms (n=2) | 0.60x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | vec/corgi w1 | +|---|---|---|---| +| ast_hier | 19.7ms (n=2) | 11.8ms (n=2) | 0.60x | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 48b94f6d5..dded4ab53 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -192,10 +192,35 @@ set) and chunks with none are skipped. Medium is unchanged (one chunk per batch); at large scale, corgi, 1 worker: scc churn 700→657 ms, cc 178→160 ms, initial epochs unchanged. Corgi gate passes. +## 15. Measured: a hierarchical `min` for ast + +`bench/programs/ast_hier.ddp` is ast with its one `min` over 16 groups of +~100k rows replaced by two stages: `min` per (bucket, hash(value) % F), then +`min` per bucket. Same 12 result rows. Medium, 1 worker, churn epoch / initial: + +| fan-out F | corgi | vec | +|---|---|---| +| 1 (ast itself) | 172 ms / 282 ms | 169 ms / 272 ms | +| 64 | 239 ms / 423 ms | 114 ms / 263 ms | +| 4096 | **19.7 ms** / 491 ms | **11.8 ms** / 295 ms | +| 65536 | 60 ms / 732 ms | 51 ms / 632 ms | + +A churn epoch touches ~1600 exploded rows; with 64 sub-groups nearly all of +them are touched and re-reduced, so nothing is saved; with 4096 the touched +sub-groups are ~400 rows each and the epoch drops 9–14x, for +10–75% on the +initial epoch (a second arrangement). At 65536 the second stage's groups are +64k rows and the problem is back. The right shape is more than two levels +(16 → 4096 → 64 → 1), which is what an optimizer rewrite of `reduce min` over +few, large groups should emit; this is the data point for it. + +Also visible: corgi is *behind* vec on every ast_hier row (0.5–0.85x), while it +is 2x ahead on scc's 100k tiny groups. Many mid-sized groups of wide values +are a shape corgi's reduce handles worse than vec; worth its own profile. + ## Next 2. (done, section 14) Skip chunks a probe set cannot touch. -3. A hierarchical-`min` rewrite in the DDIR optimizer, or at least an ast - variant that keys on more than 16 buckets to show the difference. +3. A hierarchical-`min` rewrite in the DDIR optimizer (section 15 has the + measured shape: more than two levels). 4. `leave_dynamic` over multi-element stamps, then `tick n sync=k` (section 11). 5. A `sum` reducer, then TPC-H by transcription (section 10). From 006f3a6737e94b7e62c15392ffc42f859053e504 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:26:19 -0400 Subject: [PATCH 17/25] DDIR bench: where corgi's reduce loses on ast_hier (structural compares in the merge) Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/reports/2026-09-04-findings.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index dded4ab53..c55006db1 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -214,8 +214,15 @@ initial epoch (a second arrangement). At 65536 the second stage's groups are few, large groups should emit; this is the data point for it. Also visible: corgi is *behind* vec on every ast_hier row (0.5–0.85x), while it -is 2x ahead on scc's 100k tiny groups. Many mid-sized groups of wide values -are a shape corgi's reduce handles worse than vec; worth its own profile. +is 2x ahead on scc's 100k tiny groups. Its churn-epoch profile (fan-out 4096, +1 worker) is 86% reduce, and inside it `merge_present` is 24.5% with +`compare_pairs` at 22% (8.5% self, plus `sort_leaf_blocks` 13% and +`Prim::cmp_idx` 6%): the k-way merge of the selected runs orders rows through +corgi's structural comparator, one dispatching call per comparison, where vec +compares `Value`s directly. `ValueHistory::build` is 7%, allocation ~10%. A +leaf-typed fast path for the merge's comparisons (both lanes `u64`, compare +in place) is the lever; it is the `compare_at`-batch-of-one story again, one +level up. ## Next From 9e5e701272469f6f132d89feb6eb3aa88d59ab91 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:28:52 -0400 Subject: [PATCH 18/25] Corgi reduce: check id order with one adjacent-compare pass, not a compare per row `merge_present` verifies that no id in a run covers two real keys before it trusts id order. For a non-leaf key that was a structural `compare_at` per adjacent pair, and every row of a group shares its id with its predecessor, so nearly every row of every retire paid one. One `compare_adjacent` pass over the key column answers the same question. ast_hier (a `(bucket, hash)` key) on corgi at medium, one worker: initial epoch 491 -> 422 ms, churn epoch 19.7 -> 17.0 ms; leaf-keyed programs are not on this path and are unchanged. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../2026-09-04-16ac267c-medium-adjcmp.jsonl | 9 +++++++++ .../reports/2026-09-04-16ac267c-medium-adjcmp.md | 15 +++++++++++++++ interactive/bench/reports/2026-09-04-findings.md | 9 +++++++++ interactive/src/corgi/reduce.rs | 12 +++++++----- 4 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 interactive/bench/reports/2026-09-04-16ac267c-medium-adjcmp.jsonl create mode 100644 interactive/bench/reports/2026-09-04-16ac267c-medium-adjcmp.md diff --git a/interactive/bench/reports/2026-09-04-16ac267c-medium-adjcmp.jsonl b/interactive/bench/reports/2026-09-04-16ac267c-medium-adjcmp.jsonl new file mode 100644 index 000000000..c86166bf5 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-16ac267c-medium-adjcmp.jsonl @@ -0,0 +1,9 @@ +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.42173000000000005, "round_s": 0.0170116, "total_s": 1.27231} +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.42025, "round_s": 0.0170716, "total_s": 1.27383} +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.42799000000000004, "round_s": 0.016981, "total_s": 1.27704} +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.89, "round_s": 0.0556, "total_s": 4.67} +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.89, "round_s": 0.0558, "total_s": 4.68} +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.88, "round_s": 0.0558, "total_s": 4.67} +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31519, "round_s": 0.006025399999999999, "total_s": 0.61646} +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31622000000000006, "round_s": 0.0059812, "total_s": 0.61528} +{"date": "2026-09-04", "rev": "16ac267c", "dirty": true, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31428, "round_s": 0.006033999999999999, "total_s": 0.61598} diff --git a/interactive/bench/reports/2026-09-04-16ac267c-medium-adjcmp.md b/interactive/bench/reports/2026-09-04-16ac267c-medium-adjcmp.md new file mode 100644 index 000000000..2c3a6772d --- /dev/null +++ b/interactive/bench/reports/2026-09-04-16ac267c-medium-adjcmp.md @@ -0,0 +1,15 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | +|---|---| +| ast_hier | 421.7ms (n=3) | +| scc | 1.89s (n=3) | +| stable | 315.2ms (n=3) | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | +|---|---| +| ast_hier | 17.0ms (n=3) | +| scc | 55.8ms (n=3) | +| stable | 6.0ms (n=3) | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index c55006db1..1497241b2 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -224,6 +224,15 @@ leaf-typed fast path for the merge's comparisons (both lanes `u64`, compare in place) is the lever; it is the `compare_at`-batch-of-one story again, one level up. +## 16. Done: the merge's key-order check compares adjacent rows in one pass + +`merge_present` checks that no id in a run covers two real keys before it +trusts id order. With a non-leaf key (ast_hier's `(bucket, hash)`) that was a +dispatching `compare_at` per adjacent pair — nearly every row of every retire. +It is now one `compare_adjacent` pass over the column. ast_hier on corgi, +medium, 1 worker: initial 491→422 ms, churn 19.7→17.0 ms; scc and stable +(leaf keys, not on this path) unchanged. Corgi gate passes. + ## Next 2. (done, section 14) Skip chunks a probe set cannot touch. diff --git a/interactive/src/corgi/reduce.rs b/interactive/src/corgi/reduce.rs index 230b545ac..233db57b3 100644 --- a/interactive/src/corgi/reduce.rs +++ b/interactive/src/corgi/reduce.rs @@ -34,7 +34,7 @@ use differential_dataflow::trace::chunk::ChunkBatch; use differential_dataflow::operators::int_proxy::ProxyBridge; use differential_dataflow::operators::int_proxy::reduce::{ProxyReduceBackend, ReduceInstance, ReduceWindow}; -use corgi::arrange::{compare_at, find_ranges, gather, gather_lanes, sort_blocks}; +use corgi::arrange::{find_ranges, gather, gather_lanes, sort_blocks}; use corgi::{ArithOp, Bounds, NumOp, OpLike, Value as CValue}; use crate::corgi::col_times::ColTime; @@ -295,12 +295,14 @@ fn merge_present( bridge: &mut ProxyBridge, ) -> bool { let ordered_keys = corgi::arrange::leaf_slice(keys_col).is_some() || { + // One columnar pass over the adjacent pairs, rather than a dispatching structural + // compare per row: every row of a group shares its id with its predecessor, so the + // per-row form was a `compare_at` for nearly every row of every retire. + let adjacent = corgi::arrange::compare_adjacent(keys_col); let mut start = 0usize; run_ends.iter().all(|&end| { - let one_real_key_per_id = (start + 1..end).all(|index| { - khs[index - 1] != khs[index] - || compare_at(keys_col, index - 1, keys_col, index) == std::cmp::Ordering::Equal - }); + let one_real_key_per_id = + (start + 1..end).all(|index| khs[index - 1] != khs[index] || adjacent[index - 1] == 0); start = end; one_real_key_per_id }) && start == khs.len() From da105bfa73d3f86e2307bba4e370373e54db6778 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:34:49 -0400 Subject: [PATCH 19/25] Corgi chunks: merge integer lanes with integer compares MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `CorgiChunk::merge` ordered its two-pointer walk with `compare_at` per row, a shape walk per comparison. When both chunks' keys and values are bare `u64` leaves — integer keys are their own identifiers, and integer values are the common case — or the value is unit, as under `distinct`, structural order is one or two integer compares read straight off the lanes. Other shapes keep `compare_at`. Medium scale on corgi, one worker, initial epoch / churn epoch: scc 1.90 s -> 1.72 s / 56 -> 54 ms, cc 587 -> 534 ms / 15.4 -> 14.7 ms, kcore 281 -> 253 ms / 2.3 -> 2.1 ms, reach 172 -> 168 ms / 10.3 -> 9.6 ms. Test suite passes. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- ...2026-09-04-10fd0ba9-medium-leafmerge.jsonl | 12 ++++++ .../2026-09-04-10fd0ba9-medium-leafmerge.md | 17 +++++++++ .../bench/reports/2026-09-04-findings.md | 11 ++++++ interactive/src/corgi/chunk.rs | 37 ++++++++++++++++++- 4 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 interactive/bench/reports/2026-09-04-10fd0ba9-medium-leafmerge.jsonl create mode 100644 interactive/bench/reports/2026-09-04-10fd0ba9-medium-leafmerge.md diff --git a/interactive/bench/reports/2026-09-04-10fd0ba9-medium-leafmerge.jsonl b/interactive/bench/reports/2026-09-04-10fd0ba9-medium-leafmerge.jsonl new file mode 100644 index 000000000..44fe1b61f --- /dev/null +++ b/interactive/bench/reports/2026-09-04-10fd0ba9-medium-leafmerge.jsonl @@ -0,0 +1,12 @@ +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.72, "round_s": 0.0538, "total_s": 4.41} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.72, "round_s": 0.054000000000000006, "total_s": 4.42} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.71, "round_s": 0.054000000000000006, "total_s": 4.41} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.53532, "round_s": 0.0146634, "total_s": 1.26849} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.53358, "round_s": 0.014607000000000002, "total_s": 1.2639300000000002} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.53306, "round_s": 0.0147066, "total_s": 1.2683900000000001} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.16783, "round_s": 0.0096016, "total_s": 0.64791} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.16751, "round_s": 0.009701000000000001, "total_s": 0.65256} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.1707, "round_s": 0.0096498, "total_s": 0.65319} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.25172, "round_s": 0.0021358, "total_s": 0.35851} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.25331000000000004, "round_s": 0.0021296, "total_s": 0.35979000000000005} +{"date": "2026-09-04", "rev": "10fd0ba9", "dirty": true, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.25433, "round_s": 0.0021108000000000003, "total_s": 0.35987} diff --git a/interactive/bench/reports/2026-09-04-10fd0ba9-medium-leafmerge.md b/interactive/bench/reports/2026-09-04-10fd0ba9-medium-leafmerge.md new file mode 100644 index 000000000..35774f636 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-10fd0ba9-medium-leafmerge.md @@ -0,0 +1,17 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | +|---|---| +| cc | 533.6ms (n=3) | +| kcore | 253.3ms (n=3) | +| reach | 167.8ms (n=3) | +| scc | 1.72s (n=3) | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | +|---|---| +| cc | 14.7ms (n=3) | +| kcore | 2.1ms (n=3) | +| reach | 9.6ms (n=3) | +| scc | 54.0ms (n=3) | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 1497241b2..be75c7540 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -233,6 +233,17 @@ It is now one `compare_adjacent` pass over the column. ast_hier on corgi, medium, 1 worker: initial 491→422 ms, churn 19.7→17.0 ms; scc and stable (leaf keys, not on this path) unchanged. Corgi gate passes. +## 17. Done: the chunk merge compares integer lanes directly + +`CorgiChunk::merge` ordered its two-pointer walk with `compare_at` per row — +a shape walk per comparison. When both chunks' keys and values are bare `u64` +leaves (integer keys are their own identifiers) or the value is unit (as +under `distinct`), the order is one or two integer compares read off the +lanes; other shapes keep `compare_at`. Medium, corgi, 1 worker, initial / +churn: scc 1.90 s→1.72 s / 56→54 ms, cc 587→534 ms / 15.4→14.7 ms, kcore +281→253 ms / 2.3→2.1 ms, reach 172→168 ms / 10.3→9.6 ms; triangles (2-field +keys) unchanged. Full test suite passes. + ## Next 2. (done, section 14) Skip chunks a probe set cannot touch. diff --git a/interactive/src/corgi/chunk.rs b/interactive/src/corgi/chunk.rs index d74dbde43..257db4d0b 100644 --- a/interactive/src/corgi/chunk.rs +++ b/interactive/src/corgi/chunk.rs @@ -143,6 +143,29 @@ where fn len_(&self) -> usize { self.0.times.len() } } +/// A column the merge can order without a structural walk: a bare `u64` leaf, or unit. +enum Lane<'a> { + Ints(&'a [u64]), + Unit, +} + +impl<'a> Lane<'a> { + fn of(column: &'a CValue) -> Option> { + match column { + CValue::Unit(_) => Some(Lane::Unit), + other => corgi::arrange::leaf_slice(other).map(Lane::Ints), + } + } + + #[inline] + fn cmp(&self, i: usize, other: &Lane<'_>, j: usize) -> Ordering { + match (self, other) { + (Lane::Ints(a), Lane::Ints(b)) => a[i].cmp(&b[j]), + _ => Ordering::Equal, + } + } +} + impl Chunk for CorgiChunk where T: ColTime, @@ -176,9 +199,21 @@ where let (mut tags, mut offs) = (Vec::new(), Vec::new()); let (mut times, mut diffs) = (ColTimes::new(), Vec::new()); let (mut p1, mut p2) = (0usize, 0usize); + // When both sides' keys and values are bare `u64` leaves (or the value is unit, as under + // `distinct`) — integer keys are their own identifiers, and integer values are the common + // case — structural order is two integer compares read straight off the lanes; otherwise + // `compare_at` walks the shape per row. + let fast = match (Lane::of(c1.keys()), Lane::of(c1.vals()), Lane::of(c2.keys()), Lane::of(c2.vals())) { + (Some(k1), Some(v1), Some(k2), Some(v2)) => Some((k1, v1, k2, v2)), + _ => None, + }; while p1 < n1 && p2 < n2 { // `(key, val)` structurally, then `time` in place via the columnar `Ref: Ord`. - let ord = compare_at(&kv1, p1, &kv2, p2).then_with(|| t1.cmp_cross(p1, t2, p2)); + let kv_ord = match &fast { + Some((k1, v1, k2, v2)) => k1.cmp(p1, k2, p2).then_with(|| v1.cmp(p1, v2, p2)), + None => compare_at(&kv1, p1, &kv2, p2), + }; + let ord = kv_ord.then_with(|| t1.cmp_cross(p1, t2, p2)); match ord { Ordering::Less => { tags.push(0); offs.push(p1); times.push_ref(t1, p1); diffs.push(d1[p1].clone()); p1 += 1; } Ordering::Greater => { tags.push(1); offs.push(p2); times.push_ref(t2, p2); diffs.push(d2[p2].clone()); p2 += 1; } From 6f94b661b723173d0834d0410d4928d499f1d391 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Fri, 4 Sep 2026 12:39:23 -0400 Subject: [PATCH 20/25] DDIR bench: standing medium and AoC reports at fb387759 Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../reports/2026-09-04-fb387759-aoc.jsonl | 198 ++++++++++++++++++ .../bench/reports/2026-09-04-fb387759-aoc.md | 37 ++++ .../reports/2026-09-04-fb387759-medium.jsonl | 132 ++++++++++++ .../reports/2026-09-04-fb387759-medium.md | 31 +++ .../bench/reports/2026-09-04-findings.md | 8 +- 5 files changed, 404 insertions(+), 2 deletions(-) create mode 100644 interactive/bench/reports/2026-09-04-fb387759-aoc.jsonl create mode 100644 interactive/bench/reports/2026-09-04-fb387759-aoc.md create mode 100644 interactive/bench/reports/2026-09-04-fb387759-medium.jsonl create mode 100644 interactive/bench/reports/2026-09-04-fb387759-medium.md diff --git a/interactive/bench/reports/2026-09-04-fb387759-aoc.jsonl b/interactive/bench/reports/2026-09-04-fb387759-aoc.jsonl new file mode 100644 index 000000000..bf3d96b4c --- /dev/null +++ b/interactive/bench/reports/2026-09-04-fb387759-aoc.jsonl @@ -0,0 +1,198 @@ +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00018716999999999999, "round_s": null, "total_s": 0.00018716999999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00015654, "round_s": null, "total_s": 0.00015654} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00016496, "round_s": null, "total_s": 0.00016496} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.000417, "round_s": null, "total_s": 0.000417} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00041361999999999996, "round_s": null, "total_s": 0.00041361999999999996} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00042404, "round_s": null, "total_s": 0.00042404} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00012396, "round_s": null, "total_s": 0.00012396} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00012142, "round_s": null, "total_s": 0.00012142} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00013167, "round_s": null, "total_s": 0.00013167} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00019129, "round_s": null, "total_s": 0.00019129} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00019696, "round_s": null, "total_s": 0.00019696} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00019711999999999998, "round_s": null, "total_s": 0.00019711999999999998} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00189, "round_s": null, "total_s": 0.00189} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00189, "round_s": null, "total_s": 0.00189} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00198, "round_s": null, "total_s": 0.00198} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00177, "round_s": null, "total_s": 0.00177} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00175, "round_s": null, "total_s": 0.00175} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00175, "round_s": null, "total_s": 0.00175} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00043145999999999994, "round_s": null, "total_s": 0.00043145999999999994} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00042967, "round_s": null, "total_s": 0.00042967} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00042383, "round_s": null, "total_s": 0.00042383} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00114, "round_s": null, "total_s": 0.00114} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00115, "round_s": null, "total_s": 0.00115} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00126, "round_s": null, "total_s": 0.00126} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00331, "round_s": null, "total_s": 0.00331} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.0032400000000000003, "round_s": null, "total_s": 0.0032400000000000003} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00359, "round_s": null, "total_s": 0.00359} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.02176, "round_s": null, "total_s": 0.02176} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01801, "round_s": null, "total_s": 0.01801} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.01514, "round_s": null, "total_s": 0.01514} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00183, "round_s": null, "total_s": 0.00183} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.00176, "round_s": null, "total_s": 0.00176} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.0017800000000000001, "round_s": null, "total_s": 0.0017800000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00049625, "round_s": null, "total_s": 0.00049625} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00048029, "round_s": null, "total_s": 0.00048029} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.0004975, "round_s": null, "total_s": 0.0004975} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00053042, "round_s": null, "total_s": 0.00053042} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.000561, "round_s": null, "total_s": 0.000561} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.0005649199999999999, "round_s": null, "total_s": 0.0005649199999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.01574, "round_s": null, "total_s": 0.01574} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.015380000000000001, "round_s": null, "total_s": 0.015380000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.01563, "round_s": null, "total_s": 0.01563} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.04385, "round_s": null, "total_s": 0.04385} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.04394, "round_s": null, "total_s": 0.04394} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.04355, "round_s": null, "total_s": 0.04355} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.99902, "round_s": null, "total_s": 0.99902} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 1.01, "round_s": null, "total_s": 1.01} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.9997100000000001, "round_s": null, "total_s": 0.9997100000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 1.0, "round_s": null, "total_s": 1.0} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.99913, "round_s": null, "total_s": 0.99913} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.9936699999999999, "round_s": null, "total_s": 0.9936699999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.005240000000000001, "round_s": null, "total_s": 0.005240000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00513, "round_s": null, "total_s": 0.00513} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.00517, "round_s": null, "total_s": 0.00517} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.01765, "round_s": null, "total_s": 0.01765} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.017660000000000002, "round_s": null, "total_s": 0.017660000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.017230000000000002, "round_s": null, "total_s": 0.017230000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.000405, "round_s": null, "total_s": 0.000405} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.0003815, "round_s": null, "total_s": 0.0003815} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00041537999999999997, "round_s": null, "total_s": 0.00041537999999999997} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14448, "round_s": null, "total_s": 0.14448} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14575, "round_s": null, "total_s": 0.14575} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.14404, "round_s": null, "total_s": 0.14404} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.0010500000000000002, "round_s": null, "total_s": 0.0010500000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00101, "round_s": null, "total_s": 0.00101} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00102, "round_s": null, "total_s": 0.00102} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.0005163300000000001, "round_s": null, "total_s": 0.0005163300000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00051279, "round_s": null, "total_s": 0.00051279} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00053429, "round_s": null, "total_s": 0.00053429} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0015500000000000002, "round_s": null, "total_s": 0.0015500000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.00163, "round_s": null, "total_s": 0.00163} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0016899999999999999, "round_s": null, "total_s": 0.0016899999999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.09525, "round_s": null, "total_s": 0.09525} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.09603, "round_s": null, "total_s": 0.09603} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.09526000000000001, "round_s": null, "total_s": 0.09526000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.04768, "round_s": null, "total_s": 0.04768} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.04759000000000001, "round_s": null, "total_s": 0.04759000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.047990000000000005, "round_s": null, "total_s": 0.047990000000000005} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05658, "round_s": null, "total_s": 0.05658} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.056, "round_s": null, "total_s": 0.056} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05671, "round_s": null, "total_s": 0.05671} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00147, "round_s": null, "total_s": 0.00147} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00151, "round_s": null, "total_s": 0.00151} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00152, "round_s": null, "total_s": 0.00152} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00147, "round_s": null, "total_s": 0.00147} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00151, "round_s": null, "total_s": 0.00151} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00147, "round_s": null, "total_s": 0.00147} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00034688, "round_s": null, "total_s": 0.00034688} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00036229000000000003, "round_s": null, "total_s": 0.00036229000000000003} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00036017, "round_s": null, "total_s": 0.00036017} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.00074508, "round_s": null, "total_s": 0.00074508} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.00076142, "round_s": null, "total_s": 0.00076142} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.0008083799999999999, "round_s": null, "total_s": 0.0008083799999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.0003815, "round_s": null, "total_s": 0.0003815} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00039532999999999994, "round_s": null, "total_s": 0.00039532999999999994} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00041171, "round_s": null, "total_s": 0.00041171} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00057908, "round_s": null, "total_s": 0.00057908} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.0005646199999999999, "round_s": null, "total_s": 0.0005646199999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "vec", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.0006230399999999999, "round_s": null, "total_s": 0.0006230399999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00039242, "round_s": null, "total_s": 0.00039242} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00028787999999999996, "round_s": null, "total_s": 0.00028787999999999996} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 17, "rows": 76, "load_s": 0.00031195999999999996, "round_s": null, "total_s": 0.00031195999999999996} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.00066488, "round_s": null, "total_s": 0.00066488} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.0006984199999999999, "round_s": null, "total_s": 0.0006984199999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc01p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 42, "rows": 76, "load_s": 0.0006907899999999999, "round_s": null, "total_s": 0.0006907899999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00024228999999999999, "round_s": null, "total_s": 0.00024228999999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00024778999999999996, "round_s": null, "total_s": 0.00024778999999999996} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 14, "rows": 17, "load_s": 0.00026142, "round_s": null, "total_s": 0.00026142} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00037395999999999995, "round_s": null, "total_s": 0.00037395999999999995} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.000343, "round_s": null, "total_s": 0.000343} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc02p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 24, "rows": 17, "load_s": 0.00035407999999999994, "round_s": null, "total_s": 0.00035407999999999994} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.0019, "round_s": null, "total_s": 0.0019} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00196, "round_s": null, "total_s": 0.00196} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 952, "load_s": 0.00198, "round_s": null, "total_s": 0.00198} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.0018000000000000002, "round_s": null, "total_s": 0.0018000000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00173, "round_s": null, "total_s": 0.00173} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc03p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 49, "rows": 952, "load_s": 0.00189, "round_s": null, "total_s": 0.00189} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.0006083799999999999, "round_s": null, "total_s": 0.0006083799999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.0005630399999999999, "round_s": null, "total_s": 0.0005630399999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 12, "rows": 349, "load_s": 0.00057504, "round_s": null, "total_s": 0.00057504} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.0011, "round_s": null, "total_s": 0.0011} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.0011, "round_s": null, "total_s": 0.0011} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc04p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 30, "rows": 349, "load_s": 0.00108, "round_s": null, "total_s": 0.00108} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00184, "round_s": null, "total_s": 0.00184} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.0017900000000000001, "round_s": null, "total_s": 0.0017900000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 22, "rows": 162, "load_s": 0.00173, "round_s": null, "total_s": 0.00173} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.00934, "round_s": null, "total_s": 0.00934} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.008400000000000001, "round_s": null, "total_s": 0.008400000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc05p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 156, "load_s": 0.008289999999999999, "round_s": null, "total_s": 0.008289999999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.0030099999999999997, "round_s": null, "total_s": 0.0030099999999999997} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.0029100000000000003, "round_s": null, "total_s": 0.0029100000000000003} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc06p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 6, "load_s": 0.0029500000000000004, "round_s": null, "total_s": 0.0029500000000000004} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00086025, "round_s": null, "total_s": 0.00086025} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.0008792499999999999, "round_s": null, "total_s": 0.0008792499999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00087521, "round_s": null, "total_s": 0.00087521} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00109, "round_s": null, "total_s": 0.00109} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00107, "round_s": null, "total_s": 0.00107} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc07p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 16, "rows": 34, "load_s": 0.00109, "round_s": null, "total_s": 0.00109} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.02018, "round_s": null, "total_s": 0.02018} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.01982, "round_s": null, "total_s": 0.01982} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 7280, "load_s": 0.01986, "round_s": null, "total_s": 0.01986} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.050710000000000005, "round_s": null, "total_s": 0.050710000000000005} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.0504, "round_s": null, "total_s": 0.0504} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc10p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 62, "rows": 7280, "load_s": 0.050640000000000004, "round_s": null, "total_s": 0.050640000000000004} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.89326, "round_s": null, "total_s": 0.89326} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.89664, "round_s": null, "total_s": 0.89664} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.89328, "round_s": null, "total_s": 0.89328} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.88916, "round_s": null, "total_s": 0.88916} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.8905000000000001, "round_s": null, "total_s": 0.8905000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc11p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 7980, "load_s": 0.891, "round_s": null, "total_s": 0.891} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.0030600000000000002, "round_s": null, "total_s": 0.0030600000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.0030299999999999997, "round_s": null, "total_s": 0.0030299999999999997} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 47, "rows": 1399, "load_s": 0.0030099999999999997, "round_s": null, "total_s": 0.0030099999999999997} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.0086, "round_s": null, "total_s": 0.0086} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.008480000000000001, "round_s": null, "total_s": 0.008480000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc13p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 1399, "load_s": 0.008310000000000001, "round_s": null, "total_s": 0.008310000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00043895999999999996, "round_s": null, "total_s": 0.00043895999999999996} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00042620999999999995, "round_s": null, "total_s": 0.00042620999999999995} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 34, "rows": 196, "load_s": 0.00046774999999999996, "round_s": null, "total_s": 0.00046774999999999996} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.20183, "round_s": null, "total_s": 0.20183} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.20034000000000002, "round_s": null, "total_s": 0.20034000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc14p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 92, "rows": 196, "load_s": 0.20143, "round_s": null, "total_s": 0.20143} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.0008562499999999999, "round_s": null, "total_s": 0.0008562499999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00079492, "round_s": null, "total_s": 0.00079492} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 29, "rows": 60, "load_s": 0.00085583, "round_s": null, "total_s": 0.00085583} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.0005132899999999999, "round_s": null, "total_s": 0.0005132899999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00051025, "round_s": null, "total_s": 0.00051025} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc15p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 45, "rows": 16, "load_s": 0.00052067, "round_s": null, "total_s": 0.00052067} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.00192, "round_s": null, "total_s": 0.00192} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.00186, "round_s": null, "total_s": 0.00186} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 26, "rows": 2750, "load_s": 0.0019399999999999999, "round_s": null, "total_s": 0.0019399999999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.11170000000000001, "round_s": null, "total_s": 0.11170000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.11082, "round_s": null, "total_s": 0.11082} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc16p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 56, "rows": 2750, "load_s": 0.11128, "round_s": null, "total_s": 0.11128} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05726, "round_s": null, "total_s": 0.05726} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05715, "round_s": null, "total_s": 0.05715} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05768, "round_s": null, "total_s": 0.05768} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05836, "round_s": null, "total_s": 0.05836} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05887, "round_s": null, "total_s": 0.05887} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc17p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 36, "rows": 319, "load_s": 0.05883, "round_s": null, "total_s": 0.05883} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00289, "round_s": null, "total_s": 0.00289} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00281, "round_s": null, "total_s": 0.00281} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00283, "round_s": null, "total_s": 0.00283} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.0028799999999999997, "round_s": null, "total_s": 0.0028799999999999997} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.0028799999999999997, "round_s": null, "total_s": 0.0028799999999999997} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc18p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 39, "rows": 15, "load_s": 0.00282, "round_s": null, "total_s": 0.00282} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00067758, "round_s": null, "total_s": 0.00067758} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.0006911199999999999, "round_s": null, "total_s": 0.0006911199999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 19, "rows": 36, "load_s": 0.00067725, "round_s": null, "total_s": 0.00067725} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.00184, "round_s": null, "total_s": 0.00184} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.00192, "round_s": null, "total_s": 0.00192} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc19p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 18, "rows": 36, "load_s": 0.00185, "round_s": null, "total_s": 0.00185} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.0005730399999999999, "round_s": null, "total_s": 0.0005730399999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.0005715399999999999, "round_s": null, "total_s": 0.0005715399999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p1", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 37, "rows": 25, "load_s": 0.00058683, "round_s": null, "total_s": 0.00058683} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 0, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00077196, "round_s": null, "total_s": 0.00077196} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 1, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00079833, "round_s": null, "total_s": 0.00079833} +{"date": "2026-09-04", "rev": "fb387759", "dirty": true, "scale": "small", "workload": "aoc22p2", "backend": "corgi", "workers": 1, "run": 2, "nodes": 10000, "edges": 20000, "churn": 10, "rounds": null, "ops": 46, "rows": 25, "load_s": 0.00083421, "round_s": null, "total_s": 0.00083421} diff --git a/interactive/bench/reports/2026-09-04-fb387759-aoc.md b/interactive/bench/reports/2026-09-04-fb387759-aoc.md new file mode 100644 index 000000000..bbef85166 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-fb387759-aoc.md @@ -0,0 +1,37 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | vec/corgi w1 | +|---|---|---|---| +| aoc01p1 | 312µs (n=3) | 165µs (n=3) | 0.53x | +| aoc01p2 | 691µs (n=3) | 417µs (n=3) | 0.60x | +| aoc02p1 | 248µs (n=3) | 124µs (n=3) | 0.50x | +| aoc02p2 | 354µs (n=3) | 197µs (n=3) | 0.56x | +| aoc03p1 | 2.0ms (n=3) | 1.9ms (n=3) | 0.96x | +| aoc03p2 | 1.8ms (n=3) | 1.8ms (n=3) | 0.97x | +| aoc04p1 | 575µs (n=3) | 430µs (n=3) | 0.75x | +| aoc04p2 | 1.1ms (n=3) | 1.1ms (n=3) | 1.05x | +| aoc05p1 | 1.8ms (n=3) | 3.3ms (n=3) | 1.85x | +| aoc05p2 | 8.4ms (n=3) | 18.0ms (n=3) | 2.14x | +| aoc06p1 | 3.0ms (n=3) | 1.8ms (n=3) | 0.60x | +| aoc07p1 | 875µs (n=3) | 496µs (n=3) | 0.57x | +| aoc07p2 | 1.1ms (n=3) | 561µs (n=3) | 0.51x | +| aoc10p1 | 19.9ms (n=3) | 15.6ms (n=3) | 0.79x | +| aoc10p2 | 50.6ms (n=3) | 43.9ms (n=3) | 0.87x | +| aoc11p1 | 893.3ms (n=3) | 999.7ms (n=3) | 1.12x | +| aoc11p2 | 890.5ms (n=3) | 999.1ms (n=3) | 1.12x | +| aoc13p1 | 3.0ms (n=3) | 5.2ms (n=3) | 1.71x | +| aoc13p2 | 8.5ms (n=3) | 17.6ms (n=3) | 2.08x | +| aoc14p1 | 439µs (n=3) | 405µs (n=3) | 0.92x | +| aoc14p2 | 201.4ms (n=3) | 144.5ms (n=3) | 0.72x | +| aoc15p1 | 856µs (n=3) | 1.0ms (n=3) | 1.19x | +| aoc15p2 | 513µs (n=3) | 516µs (n=3) | 1.01x | +| aoc16p1 | 1.9ms (n=3) | 1.6ms (n=3) | 0.85x | +| aoc16p2 | 111.3ms (n=3) | 95.3ms (n=3) | 0.86x | +| aoc17p1 | 57.3ms (n=3) | 47.7ms (n=3) | 0.83x | +| aoc17p2 | 58.8ms (n=3) | 56.6ms (n=3) | 0.96x | +| aoc18p1 | 2.8ms (n=3) | 1.5ms (n=3) | 0.53x | +| aoc18p2 | 2.9ms (n=3) | 1.5ms (n=3) | 0.51x | +| aoc19p1 | 678µs (n=3) | 360µs (n=3) | 0.53x | +| aoc19p2 | 1.9ms (n=3) | 761µs (n=3) | 0.41x | +| aoc22p1 | 573µs (n=3) | 395µs (n=3) | 0.69x | +| aoc22p2 | 798µs (n=3) | 579µs (n=3) | 0.73x | diff --git a/interactive/bench/reports/2026-09-04-fb387759-medium.jsonl b/interactive/bench/reports/2026-09-04-fb387759-medium.jsonl new file mode 100644 index 000000000..103250cfa --- /dev/null +++ b/interactive/bench/reports/2026-09-04-fb387759-medium.jsonl @@ -0,0 +1,132 @@ +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.56, "round_s": 0.1128, "total_s": 8.2} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.58, "round_s": 0.111, "total_s": 8.129999999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.57, "round_s": 0.111, "total_s": 8.12} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.8412000000000001, "round_s": 0.0242, "total_s": 2.0512} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.83892, "round_s": 0.0242, "total_s": 2.04892} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.8387000000000001, "round_s": 0.0242, "total_s": 2.0487} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.1438, "round_s": 0.0010868000000000002, "total_s": 0.19814} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.14333, "round_s": 0.0010256, "total_s": 0.19461} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.14462, "round_s": 0.0011062000000000001, "total_s": 0.19993} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.2005, "round_s": 0.0140676, "total_s": 0.90388} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.20234000000000002, "round_s": 0.014229400000000001, "total_s": 0.91381} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.19613999999999998, "round_s": 0.014434599999999999, "total_s": 0.91787} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.6567999999999999, "round_s": 0.0052752, "total_s": 0.9205599999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.66437, "round_s": 0.005253, "total_s": 0.92702} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.6620900000000001, "round_s": 0.0052828, "total_s": 0.9262300000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.39217, "round_s": 0.008114600000000001, "total_s": 0.7979} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.39877999999999997, "round_s": 0.0081452, "total_s": 0.80604} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.39487, "round_s": 0.0081392, "total_s": 0.80183} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.65277, "round_s": 0.0202, "total_s": 1.66277} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.65946, "round_s": 0.02, "total_s": 1.6594600000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.65167, "round_s": 0.0202, "total_s": 1.66167} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02153, "round_s": 0.012197, "total_s": 0.63138} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02168, "round_s": 0.0125798, "total_s": 0.6506700000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.0214, "round_s": 0.0124428, "total_s": 0.64354} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27376, "round_s": 0.16940000000000002, "total_s": 8.74376} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.26671, "round_s": 0.16920000000000002, "total_s": 8.72671} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.27259, "round_s": 0.1686, "total_s": 8.702589999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.29228, "round_s": 0.011685000000000001, "total_s": 0.87653} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.28982, "round_s": 0.011727000000000001, "total_s": 0.8761700000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.28808999999999996, "round_s": 0.011723800000000001, "total_s": 0.8742800000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15046, "round_s": 0.0018368000000000002, "total_s": 0.24230000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15131, "round_s": 0.0018022, "total_s": 0.24142} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.15208000000000002, "round_s": 0.0018392, "total_s": 0.24404000000000003} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.7244900000000001, "round_s": 0.046799999999999994, "total_s": 3.06449} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.7047300000000001, "round_s": 0.046799999999999994, "total_s": 3.04473} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.73045, "round_s": 0.046799999999999994, "total_s": 3.07045} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.20101, "round_s": 0.008642, "total_s": 0.6331100000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.19044999999999998, "round_s": 0.008708, "total_s": 0.62585} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18932, "round_s": 0.0086572, "total_s": 0.62218} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.05344, "round_s": 0.000433, "total_s": 0.07509} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.04275, "round_s": 0.00043599999999999997, "total_s": 0.06455} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.04288, "round_s": 0.0004356, "total_s": 0.06466} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.07038, "round_s": 0.005332, "total_s": 0.33698} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05834, "round_s": 0.0053036, "total_s": 0.32352000000000003} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.06869, "round_s": 0.0053406, "total_s": 0.33572} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.11018000000000001, "round_s": 0.0019064, "total_s": 0.20550000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.11254000000000002, "round_s": 0.00191, "total_s": 0.20804} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.10984000000000001, "round_s": 0.0018924000000000002, "total_s": 0.20446000000000003} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10465, "round_s": 0.0034377999999999995, "total_s": 0.27654} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10477, "round_s": 0.0034118000000000004, "total_s": 0.27536000000000005} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10369, "round_s": 0.003404, "total_s": 0.27388999999999997} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.2106, "round_s": 0.008177799999999999, "total_s": 0.61949} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.21693, "round_s": 0.0081762, "total_s": 0.62574} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.21098, "round_s": 0.0081108, "total_s": 0.61652} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.01567, "round_s": 0.0078574, "total_s": 0.40854} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.01533, "round_s": 0.0078858, "total_s": 0.40962000000000004} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.052700000000000004, "round_s": 0.0077936, "total_s": 0.44238000000000005} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.14175000000000001, "round_s": 0.105, "total_s": 5.39175} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.43659, "round_s": 0.105, "total_s": 5.68659} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.13808, "round_s": 0.10460000000000001, "total_s": 5.368080000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.11959, "round_s": 0.0038172000000000006, "total_s": 0.31045} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.12087, "round_s": 0.00382, "total_s": 0.31187} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.12233, "round_s": 0.0038042, "total_s": 0.31254000000000004} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.10686, "round_s": 0.0005988, "total_s": 0.1368} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05845, "round_s": 0.0006128, "total_s": 0.08909} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.10751000000000001, "round_s": 0.0005922, "total_s": 0.13712000000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.72, "round_s": 0.054000000000000006, "total_s": 4.42} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.71, "round_s": 0.0542, "total_s": 4.42} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.71, "round_s": 0.0542, "total_s": 4.42} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.53403, "round_s": 0.0147434, "total_s": 1.2711999999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.5354500000000001, "round_s": 0.014767, "total_s": 1.2738} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.53549, "round_s": 0.014686400000000002, "total_s": 1.26981} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.10072, "round_s": 0.00044380000000000005, "total_s": 0.12291} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.10011, "round_s": 0.0004334, "total_s": 0.12178} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.10038, "round_s": 0.00043599999999999997, "total_s": 0.12218} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.1677, "round_s": 0.0096016, "total_s": 0.64778} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.16769, "round_s": 0.0097678, "total_s": 0.65608} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.16796, "round_s": 0.009659800000000001, "total_s": 0.65095} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.25707, "round_s": 0.002155, "total_s": 0.36482000000000003} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.256, "round_s": 0.0020884, "total_s": 0.36042} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.25298, "round_s": 0.0021118, "total_s": 0.35857} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31876, "round_s": 0.0060026, "total_s": 0.6188899999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.31782, "round_s": 0.005920599999999999, "total_s": 0.61385} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.32274, "round_s": 0.0059448, "total_s": 0.61998} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6825800000000001, "round_s": 0.012766199999999998, "total_s": 1.32089} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6829700000000001, "round_s": 0.0128922, "total_s": 1.3275800000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.6846599999999999, "round_s": 0.0127444, "total_s": 1.32188} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.028, "round_s": 0.013478800000000003, "total_s": 0.7019400000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02715, "round_s": 0.01341, "total_s": 0.69765} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02709, "round_s": 0.01349, "total_s": 0.7015899999999999} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.23062000000000002, "round_s": 0.1724, "total_s": 8.85062} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.23183, "round_s": 0.17, "total_s": 8.73183} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.23627, "round_s": 0.16940000000000002, "total_s": 8.70627} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.42804000000000003, "round_s": 0.016981800000000002, "total_s": 1.27713} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.41882, "round_s": 0.017019000000000003, "total_s": 1.26977} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.42818, "round_s": 0.017009200000000002, "total_s": 1.2786400000000002} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19266, "round_s": 0.0013882, "total_s": 0.26207} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19090000000000001, "round_s": 0.0013908000000000002, "total_s": 0.26044} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.19141999999999998, "round_s": 0.0013834000000000001, "total_s": 0.26059} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.59684, "round_s": 0.0304, "total_s": 2.11684} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.60702, "round_s": 0.0304, "total_s": 2.12702} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.60017, "round_s": 0.0304, "total_s": 2.12017} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18016, "round_s": 0.0058548, "total_s": 0.4729} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.17708000000000002, "round_s": 0.005817000000000001, "total_s": 0.46793000000000007} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.17754, "round_s": 0.0058436, "total_s": 0.46972} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.04293, "round_s": 0.00029079999999999997, "total_s": 0.05747} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.03776, "round_s": 0.00029140000000000004, "total_s": 0.05233} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.040380000000000006, "round_s": 0.00029140000000000004, "total_s": 0.054950000000000006} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05689, "round_s": 0.0047242000000000004, "total_s": 0.2931} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05718, "round_s": 0.0047352, "total_s": 0.29394} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05708, "round_s": 0.0047020000000000005, "total_s": 0.29218} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.08614000000000001, "round_s": 0.0008668, "total_s": 0.12948} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.08977, "round_s": 0.0008644, "total_s": 0.13299} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.10074, "round_s": 0.0008664000000000001, "total_s": 0.14406} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10711, "round_s": 0.0041482, "total_s": 0.31452} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.10863, "round_s": 0.004109, "total_s": 0.31408} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.11878, "round_s": 0.0041322, "total_s": 0.32539} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.22783, "round_s": 0.0059862000000000005, "total_s": 0.52714} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.22965000000000002, "round_s": 0.0059972, "total_s": 0.52951} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.23056000000000001, "round_s": 0.0060024, "total_s": 0.53068} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.01756, "round_s": 0.008334000000000001, "total_s": 0.43426000000000003} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.01738, "round_s": 0.008542000000000001, "total_s": 0.44448000000000004} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.0229, "round_s": 0.0084992, "total_s": 0.44786} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.12883000000000003, "round_s": 0.0736, "total_s": 3.8088300000000004} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.12896000000000002, "round_s": 0.0738, "total_s": 3.81896} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.12905000000000003, "round_s": 0.0738, "total_s": 3.81905} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.15072, "round_s": 0.005675599999999999, "total_s": 0.4345} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.14797, "round_s": 0.005662, "total_s": 0.43107} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.23441, "round_s": 0.0056748, "total_s": 0.51815} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07100000000000001, "round_s": 0.0005446, "total_s": 0.09823000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.06976, "round_s": 0.0005516, "total_s": 0.09734000000000001} +{"date": "2026-09-04", "rev": "fb387759", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07094, "round_s": 0.0005456, "total_s": 0.09822} diff --git a/interactive/bench/reports/2026-09-04-fb387759-medium.md b/interactive/bench/reports/2026-09-04-fb387759-medium.md new file mode 100644 index 000000000..35967dfa3 --- /dev/null +++ b/interactive/bench/reports/2026-09-04-fb387759-medium.md @@ -0,0 +1,31 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 27.2ms (n=3) | 21.5ms (n=3) | 17.6ms (n=3) | 15.7ms (n=3) | 0.79x | 0.89x | +| ast | 231.8ms (n=3) | 272.6ms (n=3) | 129.0ms (n=3) | 141.8ms (n=3) | 1.18x | 1.10x | +| ast_hier | 428.0ms (n=3) | 289.8ms (n=3) | 150.7ms (n=3) | 120.9ms (n=3) | 0.68x | 0.80x | +| cc | 535.5ms (n=3) | 838.9ms (n=3) | 177.5ms (n=3) | 190.4ms (n=3) | 1.57x | 1.07x | +| kcore | 256.0ms (n=3) | 662.1ms (n=3) | 89.8ms (n=3) | 110.2ms (n=3) | 2.59x | 1.23x | +| reach | 167.7ms (n=3) | 200.5ms (n=3) | 57.1ms (n=3) | 68.7ms (n=3) | 1.20x | 1.20x | +| scc | 1.71s (n=3) | 2.57s (n=3) | 600.2ms (n=3) | 724.5ms (n=3) | 1.50x | 1.21x | +| stable | 318.8ms (n=3) | 394.9ms (n=3) | 108.6ms (n=3) | 104.7ms (n=3) | 1.24x | 0.96x | +| tour | 683.0ms (n=3) | 652.8ms (n=3) | 229.7ms (n=3) | 211.0ms (n=3) | 0.96x | 0.92x | +| triangles | 100.4ms (n=3) | 143.8ms (n=3) | 40.4ms (n=3) | 42.9ms (n=3) | 1.43x | 1.06x | +| unnest | 191.4ms (n=3) | 151.3ms (n=3) | 70.9ms (n=3) | 106.9ms (n=3) | 0.79x | 1.51x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 13.5ms (n=3) | 12.4ms (n=3) | 8.5ms (n=3) | 7.9ms (n=3) | 0.92x | 0.92x | +| ast | 170.0ms (n=3) | 169.2ms (n=3) | 73.8ms (n=3) | 105.0ms (n=3) | 1.00x | 1.42x | +| ast_hier | 17.0ms (n=3) | 11.7ms (n=3) | 5.7ms (n=3) | 3.8ms (n=3) | 0.69x | 0.67x | +| cc | 14.7ms (n=3) | 24.2ms (n=3) | 5.8ms (n=3) | 8.7ms (n=3) | 1.64x | 1.48x | +| kcore | 2.1ms (n=3) | 5.3ms (n=3) | 866µs (n=3) | 1.9ms (n=3) | 2.50x | 2.20x | +| reach | 9.7ms (n=3) | 14.2ms (n=3) | 4.7ms (n=3) | 5.3ms (n=3) | 1.47x | 1.13x | +| scc | 54.2ms (n=3) | 111.0ms (n=3) | 30.4ms (n=3) | 46.8ms (n=3) | 2.05x | 1.54x | +| stable | 5.9ms (n=3) | 8.1ms (n=3) | 4.1ms (n=3) | 3.4ms (n=3) | 1.37x | 0.83x | +| tour | 12.8ms (n=3) | 20.2ms (n=3) | 6.0ms (n=3) | 8.2ms (n=3) | 1.58x | 1.36x | +| triangles | 436µs (n=3) | 1.1ms (n=3) | 291µs (n=3) | 436µs (n=3) | 2.49x | 1.49x | +| unnest | 1.4ms (n=3) | 1.8ms (n=3) | 546µs (n=3) | 599µs (n=3) | 1.32x | 1.10x | diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index be75c7540..9cd8eda06 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -1,7 +1,11 @@ # Findings so far (2026-09-04, branch bench-spike) -The standing report at the current head is `2026-09-04-9d23a526-medium.md` -(all workloads, both backends, 1 and 4 workers, medians of 3). +The standing report at the current head is `2026-09-04-fb387759-medium.md` +(all workloads, both backends, 1 and 4 workers, medians of 3); the AoC parts +at the same head are in `2026-09-04-fb387759-aoc.md`. Against the first +sweep of the day (d875d6e0), corgi's initial epochs are 10–18% faster on scc, +cc, kcore and ast and its churn epochs 4–10% faster, from the six backend +commits below; vec is unchanged. What the first sweeps and profiles say about where DDIR's time goes. Numbers are from this machine (M-series, 1 kHz samply), medians of 3 unless noted. From 7510f8a601d8e7208446e56ebc932e9ad00be4e3 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Sat, 5 Sep 2026 17:01:36 -0400 Subject: [PATCH 21/25] =?UTF-8?q?DDIR=20bench:=20follow=20the=20server's?= =?UTF-8?q?=20feed=E2=80=A6from=20spelling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/README.md | 4 ++-- interactive/bench/bench.py | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/interactive/bench/README.md b/interactive/bench/README.md index c0fea15ff..e0de58943 100644 --- a/interactive/bench/README.md +++ b/interactive/bench/README.md @@ -1,7 +1,7 @@ # DDIR benchmarks Every workload here runs as a **session on the one server binary**: `install` -a program, `load` its inputs in bulk (sharded across the workers), `tick` once +a program, `feed … from` its inputs in bulk (sharded across the workers), `tick` once for the initial epoch, then `tick R` for R epochs of standing change. The server times each `tick`; `bench.py` collects the times across backends, worker counts and repetitions, and writes a JSONL log plus a markdown summary @@ -30,7 +30,7 @@ deterministic (`seed=0`), so two runs at one revision see the same rows. ## What the numbers mean -- **initial epoch**: the first `tick` — the bulk load reaching the dataflow +- **initial epoch**: the first `tick` — the bulk feed reaching the dataflow and the whole computation running to its fixed point. - **per churn epoch**: the `tick R` time divided by R — each epoch retracts C rows of the window and inserts C fresh ones, and the tick waits for every diff --git a/interactive/bench/bench.py b/interactive/bench/bench.py index 950109e29..aca6c0041 100755 --- a/interactive/bench/bench.py +++ b/interactive/bench/bench.py @@ -2,7 +2,7 @@ """DDIR benchmark harness: every workload runs as a session on the one server binary. Each workload is a program from `examples/programs/` (or an AoC part) plus a -recipe for its inputs. A run is `install`, `load` (bulk, sharded across +recipe for its inputs. A run is `install`, `feed … from` (bulk, sharded across workers), one `tick` (the initial epoch: load + first computation), then `tick R` (R epochs of `churn` replaced rows each). The server reports each `tick`'s wall-clock time; this script collects them across backends, worker @@ -48,17 +48,17 @@ def graph(nodes, edges, churn, arity=2, seed=0): # name -> (program, session builder). The builder gets (nodes, edges, churn) and # returns the commands between `install` and the ticks. WORKLOADS = { - "scc": ("examples/programs/scc.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), - "cc": ("examples/programs/cc.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), - "triangles": ("examples/programs/triangles.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), - "reach": ("examples/programs/reach.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}", "feed p 1 0"]), - "kcore": ("examples/programs/kcore.ddir", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), - "stable": ("examples/programs/stable.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c, arity=4)}"]), - "tour": ("examples/programs/tour.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}", "feed p 1 0"]), - "adt": ("examples/programs/adt.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), - "ast": ("examples/programs/ast.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), - "ast_hier": ("bench/programs/ast_hier.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), - "unnest": ("examples/programs/unnest.ddp", lambda n, e, c: [f"load p 0 {graph(n, e, c)}"]), + "scc": ("examples/programs/scc.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}"]), + "cc": ("examples/programs/cc.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}"]), + "triangles": ("examples/programs/triangles.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}"]), + "reach": ("examples/programs/reach.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}", "feed p 1 0"]), + "kcore": ("examples/programs/kcore.ddir", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}"]), + "stable": ("examples/programs/stable.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c, arity=4)}"]), + "tour": ("examples/programs/tour.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}", "feed p 1 0"]), + "adt": ("examples/programs/adt.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}"]), + "ast": ("examples/programs/ast.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}"]), + "ast_hier": ("bench/programs/ast_hier.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}"]), + "unnest": ("examples/programs/unnest.ddp", lambda n, e, c: [f"feed p 0 from {graph(n, e, c)}"]), } UNITS = {"ns": 1e-9, "µs": 1e-6, "ms": 1e-3, "s": 1.0} @@ -140,7 +140,7 @@ def aoc_sessions(backend): for cand in (f"gen/day{day}/input{part}.txt", f"gen/day{day}/input{part}p.txt" if pad else None): if cand and os.path.exists(os.path.join(AOC, cand)): inp = cand - out.append((f"aoc{day}p{part}", [f"install p {AOC}/day{day}/part{part}.ddp", f"load p 0 {AOC}/{inp}", "tick"])) + out.append((f"aoc{day}p{part}", [f"install p {AOC}/day{day}/part{part}.ddp", f"feed p 0 from {AOC}/{inp}", "tick"])) return out From 3824ab70e6c129af9de72e1a29892484b517e840 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Sat, 5 Sep 2026 17:24:35 -0400 Subject: [PATCH 22/25] DDIR bench: drive the live server crate Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- interactive/bench/README.md | 4 ++-- interactive/bench/bench.py | 26 ++++++++++++++------------ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/interactive/bench/README.md b/interactive/bench/README.md index e0de58943..001ee5e7e 100644 --- a/interactive/bench/README.md +++ b/interactive/bench/README.md @@ -1,6 +1,6 @@ # DDIR benchmarks -Every workload here runs as a **session on the one server binary**: `install` +Every workload here runs as a **session on the one server binary**: `load` a program, `feed … from` its inputs in bulk (sharded across the workers), `tick` once for the initial epoch, then `tick R` for R epochs of standing change. The server times each `tick`; `bench.py` collects the times across backends, @@ -8,7 +8,7 @@ worker counts and repetitions, and writes a JSONL log plus a markdown summary under `reports/`, named by date and git revision. ``` -cargo build --release -p interactive --example ddir_server +cargo build --release -p ddir-server ./bench.py --scale small --runs 3 # sanity pass, seconds ./bench.py --scale medium --workers 1,4 --runs 3 # the standing report ./bench.py --aoc --backends vec,corgi # the 33 AoC parts, one epoch each diff --git a/interactive/bench/bench.py b/interactive/bench/bench.py index aca6c0041..84d35de03 100755 --- a/interactive/bench/bench.py +++ b/interactive/bench/bench.py @@ -2,7 +2,7 @@ """DDIR benchmark harness: every workload runs as a session on the one server binary. Each workload is a program from `examples/programs/` (or an AoC part) plus a -recipe for its inputs. A run is `install`, `feed … from` (bulk, sharded across +recipe for its inputs. A run is `load`, `feed … from` (bulk, sharded across workers), one `tick` (the initial epoch: load + first computation), then `tick R` (R epochs of `churn` replaced rows each). The server reports each `tick`'s wall-clock time; this script collects them across backends, worker @@ -32,7 +32,7 @@ HERE = os.path.dirname(os.path.abspath(__file__)) CRATE = os.path.dirname(HERE) # interactive/ ROOT = os.path.dirname(CRATE) # repo root -SERVER = os.path.join(ROOT, "target", "release", "examples", "ddir_server") +SERVER = os.path.join(ROOT, "target", "release", "ddir_server") AOC = os.path.join(CRATE, "examples", "aoc2023") # scale -> (nodes, edges, churn, rounds) @@ -62,18 +62,21 @@ def graph(nodes, edges, churn, arity=2, seed=0): } UNITS = {"ns": 1e-9, "µs": 1e-6, "ms": 1e-3, "s": 1.0} -TICK = re.compile(r"^tick -> epoch (\d+) \(([\d.]+)(ns|µs|ms|s)\)$") -INSTALLED = re.compile(r'^installed "p" \((\d+) ops\)$') -LOADED = re.compile(r"^loaded (\d+) rows") +# The live server's responses: ` ok …` / ` err …` / ` data …`. +TICK = re.compile(r"^\S+ ok t=(\d+) elapsed=([\d.]+)(ns|µs|ms|s)$") +INSTALLED = re.compile(r'^\S+ ok installed "p" \((\d+) ops\)$') +LOADED = re.compile(r"^\S+ ok loaded (\d+) rows") +ERROR = re.compile(r"^\S+ err ") def run_session(lines, backend, workers, timeout=3600, wrap=None): """Run one session on the server; return (ops, rows, [(epoch, seconds)]) or raise.""" - cmd = [SERVER, f"--backend={backend}", f"-w{workers}"] + cmd = [SERVER] if wrap: cmd = wrap + cmd + env = dict(os.environ, DDIR_BACKEND=backend, DDIR_WORKERS=str(workers)) proc = subprocess.run(cmd, input="\n".join(lines) + "\nexit\n", capture_output=True, - text=True, timeout=timeout, cwd=CRATE) + text=True, timeout=timeout, cwd=CRATE, env=env) ops = rows = None ticks = [] for line in proc.stdout.splitlines(): @@ -83,7 +86,7 @@ def run_session(lines, backend, workers, timeout=3600, wrap=None): rows = int(m.group(1)) elif m := TICK.match(line): ticks.append((int(m.group(1)), float(m.group(2)) * UNITS[m.group(3)])) - elif line.startswith("error:") or "panicked" in line: + elif ERROR.match(line) or "panicked" in line: raise RuntimeError(line) if proc.returncode != 0 or "panicked" in proc.stderr: raise RuntimeError(proc.stderr.strip().splitlines()[-1] if proc.stderr.strip() else f"exit {proc.returncode}") @@ -92,7 +95,7 @@ def run_session(lines, backend, workers, timeout=3600, wrap=None): def session(name, nodes, edges, churn, rounds): program, build = WORKLOADS[name] - return [f"install p {without_inspects(program)}", *build(nodes, edges, churn), "tick", f"tick {rounds}"] + return [f"load p from {without_inspects(program)}", *build(nodes, edges, churn), "tick", f"tick {rounds}"] def without_inspects(program): @@ -140,7 +143,7 @@ def aoc_sessions(backend): for cand in (f"gen/day{day}/input{part}.txt", f"gen/day{day}/input{part}p.txt" if pad else None): if cand and os.path.exists(os.path.join(AOC, cand)): inp = cand - out.append((f"aoc{day}p{part}", [f"install p {AOC}/day{day}/part{part}.ddp", f"feed p 0 from {AOC}/{inp}", "tick"])) + out.append((f"aoc{day}p{part}", [f"load p from {AOC}/day{day}/part{part}.ddp", f"feed p 0 from {AOC}/{inp}", "tick"])) return out @@ -209,8 +212,7 @@ def main(): args = ap.parse_args() if not args.no_build: - subprocess.run(["cargo", "build", "--release", "-p", "interactive", "--example", "ddir_server"], - cwd=ROOT, check=True) + subprocess.run(["cargo", "build", "--release", "-p", "ddir-server"], cwd=ROOT, check=True) rev = git("rev-parse", "--short", "HEAD") dirty = bool(git("status", "--porcelain", "--", "interactive")) stamp = dt.date.today().isoformat() From 9152dd96fd11b6308d57436412e4247014b184cc Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Sun, 6 Sep 2026 11:37:40 -0400 Subject: [PATCH 23/25] DDIR bench: standing report through the live server; the driver under-counted initial epochs Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../bench/reports/2026-09-04-findings.md | 43 +++++- .../reports/2026-09-06-27a7ec47-medium.jsonl | 132 ++++++++++++++++++ .../reports/2026-09-06-27a7ec47-medium.md | 31 ++++ 3 files changed, 203 insertions(+), 3 deletions(-) create mode 100644 interactive/bench/reports/2026-09-06-27a7ec47-medium.jsonl create mode 100644 interactive/bench/reports/2026-09-06-27a7ec47-medium.md diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index 9cd8eda06..e99f0c78c 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -1,8 +1,10 @@ # Findings so far (2026-09-04, branch bench-spike) -The standing report at the current head is `2026-09-04-fb387759-medium.md` -(all workloads, both backends, 1 and 4 workers, medians of 3); the AoC parts -at the same head are in `2026-09-04-fb387759-aoc.md`. Against the first +The standing report is `2026-09-06-27a7ec47-medium.md` (all workloads, both backends, 1 and 4 workers, +medians of 3), taken through the live server; the earlier +`2026-09-04-fb387759-medium.md` was taken through the example driver, whose +initial epochs are under-counted for the compute-heavy programs (section +19). The AoC parts are in `2026-09-04-fb387759-aoc.md`. Against the first sweep of the day (d875d6e0), corgi's initial epochs are 10–18% faster on scc, cc, kcore and ast and its churn epochs 4–10% faster, from the six backend commits below; vec is unchanged. @@ -248,6 +250,41 @@ churn: scc 1.90 s→1.72 s / 56→54 ms, cc 587→534 ms / 15.4→14.7 ms, kcore 281→253 ms / 2.3→2.1 ms, reach 172→168 ms / 10.3→9.6 ms; triangles (2-field keys) unchanged. Full test suite passes. +## 19. The example driver under-counted initial epochs; the live server does not + +Today's initial epochs for ast, adt and unnest came out ~2x the standing +report's (ast 232 → 448 ms) while churn epochs and scc were unchanged, and +neither the corgi revision nor the build explained it (WIP master's sort, +the pinned revision as a path dependency, and the rustc flags were all +tried). The difference is the front end. The example driver stepped the +worker between commands, so after `load` and before `tick` arrived from the +intake thread, one step already ran the loaded rows through the map, flatmap +and fold: profiling the driver shows `try_eval_graph` at 101 samples *before* +the tick's timer starts and 1 sample inside it. The live server hands `feed` +and `tick` to the worker back to back, so its `tick` time holds all of it. +Inserting an empty `tick` before the data makes the driver report 447 ms +too. So the standing report's initial epochs are under-counted for every +program whose load-time compute is large (ast, adt, unnest, tour), by +roughly the compute's cost; churn epochs and the arrangement-bound +workloads (scc, cc, kcore, reach, triangles) were reported correctly. The +standing report is being re-taken through the live server. A harness that +starts its timer at a command boundary trusts that nothing ran before it, +and the driver broke that. + +## 20. SORT breadth-first: measured (corgi branch `corgi-sort-bfs`) + +The Sum and List arms of `sort_blocks` now refine per level across all +blocks, and skip one-row blocks. Corgi's gap rows (ns/row, 1M / 8M, Rust = +a stable typed sort in the same order): a block per row — R9 Sum 36.7 → +14.4 / 38.5 → 18.1, R10 List 75.9 → 25.1 / 75.8 → 29.0 (Rust 2.9 / 4.2); one +block — R7 Sum 26.3 → 32.5 / 34.4 → 40.8 (Rust 37.6 / 46.8), R8 List 40.6 → +49.2 / 58.2 → 72.0 (Rust 93.8 / 244). DDIR workloads at medium, measured +against the pinned corgi through the live server (both ~450 ms for ast): +neutral on ast and unnest, adt 52 → 43 ms initial, churn unchanged. So +breadth-first is 2–2.6x where per-block recursion was the cost and 15–25% +worse where a few big blocks had locality; both remain 5–7x behind a +per-row typed sort on rows of four, which is the pass structure, not an arm. + ## Next 2. (done, section 14) Skip chunks a probe set cannot touch. diff --git a/interactive/bench/reports/2026-09-06-27a7ec47-medium.jsonl b/interactive/bench/reports/2026-09-06-27a7ec47-medium.jsonl new file mode 100644 index 000000000..a34ec6d0a --- /dev/null +++ b/interactive/bench/reports/2026-09-06-27a7ec47-medium.jsonl @@ -0,0 +1,132 @@ +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.56, "round_s": 0.109, "total_s": 8.01} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.58, "round_s": 0.1092, "total_s": 8.04} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 2.58, "round_s": 0.10980000000000001, "total_s": 8.07} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.87554, "round_s": 0.023799999999999998, "total_s": 2.06554} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.8705900000000001, "round_s": 0.023799999999999998, "total_s": 2.06059} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.87039, "round_s": 0.023799999999999998, "total_s": 2.06039} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.18023, "round_s": 0.0010766, "total_s": 0.23406} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.17928, "round_s": 0.0010578, "total_s": 0.23217} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.18058000000000002, "round_s": 0.0010578, "total_s": 0.23347} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.25159000000000004, "round_s": 0.0138652, "total_s": 0.94485} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.25228, "round_s": 0.014010199999999999, "total_s": 0.95279} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.24949000000000002, "round_s": 0.014157600000000001, "total_s": 0.95737} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.80253, "round_s": 0.005372, "total_s": 1.07113} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.80404, "round_s": 0.0051446, "total_s": 1.06127} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.8036599999999999, "round_s": 0.0051364, "total_s": 1.0604799999999999} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.40772, "round_s": 0.0081604, "total_s": 0.81574} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.41141000000000005, "round_s": 0.008147999999999999, "total_s": 0.81881} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.41300000000000003, "round_s": 0.0082032, "total_s": 0.8231600000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 1.11, "round_s": 0.0199908, "total_s": 2.10954} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 1.12, "round_s": 0.0198448, "total_s": 2.11224} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 1.12, "round_s": 0.02, "total_s": 2.12} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.11109999999999999, "round_s": 0.011809200000000002, "total_s": 0.7015600000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.1123, "round_s": 0.012062000000000002, "total_s": 0.7154} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.11114, "round_s": 0.011891800000000001, "total_s": 0.7057300000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 1.2, "round_s": 0.16699999999999998, "total_s": 9.549999999999999} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 1.21, "round_s": 0.1664, "total_s": 9.530000000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 1.2, "round_s": 0.1664, "total_s": 9.52} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 1.35, "round_s": 0.011845999999999999, "total_s": 1.9423} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 1.35, "round_s": 0.0118578, "total_s": 1.9428900000000002} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 1.36, "round_s": 0.011794800000000001, "total_s": 1.9497400000000003} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.33197000000000004, "round_s": 0.0018437999999999998, "total_s": 0.42416000000000004} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.33227999999999996, "round_s": 0.0018078, "total_s": 0.42267} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.32882, "round_s": 0.0018063999999999999, "total_s": 0.41914} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.82638, "round_s": 0.0466, "total_s": 3.15638} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.83251, "round_s": 0.0466, "total_s": 3.16251} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.83724, "round_s": 0.0466, "total_s": 3.16724} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.26759, "round_s": 0.008598, "total_s": 0.6974899999999999} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.26749, "round_s": 0.0086334, "total_s": 0.69916} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.26642000000000005, "round_s": 0.0086166, "total_s": 0.69725} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.06129, "round_s": 0.0004394, "total_s": 0.08326} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.05297, "round_s": 0.00043180000000000003, "total_s": 0.07456} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.05382, "round_s": 0.0004284, "total_s": 0.07524} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.07457, "round_s": 0.0052694000000000005, "total_s": 0.33804} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.07440000000000001, "round_s": 0.0052252, "total_s": 0.33566} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.07381, "round_s": 0.0052988, "total_s": 0.33875} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.24078, "round_s": 0.001956, "total_s": 0.33858} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.24037, "round_s": 0.0018771999999999999, "total_s": 0.33423} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.2417, "round_s": 0.0019758, "total_s": 0.34049} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.12268000000000001, "round_s": 0.0034304, "total_s": 0.2942} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.12265000000000001, "round_s": 0.0033768000000000005, "total_s": 0.29149} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.12323, "round_s": 0.003387, "total_s": 0.29258} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.35205000000000003, "round_s": 0.007812400000000001, "total_s": 0.74267} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.34926999999999997, "round_s": 0.0077516, "total_s": 0.73685} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.35092, "round_s": 0.0077464, "total_s": 0.73824} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.051840000000000004, "round_s": 0.007614400000000001, "total_s": 0.43256000000000006} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.05149, "round_s": 0.007536, "total_s": 0.42829} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.051770000000000004, "round_s": 0.0074988, "total_s": 0.42671} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.40893, "round_s": 0.10279999999999999, "total_s": 5.5489299999999995} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.41969, "round_s": 0.10279999999999999, "total_s": 5.55969} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.42438, "round_s": 0.10300000000000001, "total_s": 5.574380000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.44703, "round_s": 0.0038262, "total_s": 0.63834} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.43063, "round_s": 0.0038069999999999996, "total_s": 0.62098} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.43356, "round_s": 0.0038366000000000008, "total_s": 0.62539} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.10337, "round_s": 0.0005904, "total_s": 0.13289} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.10374, "round_s": 0.0005854, "total_s": 0.13301} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "vec", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.10494, "round_s": 0.0005798, "total_s": 0.13393} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.71, "round_s": 0.054000000000000006, "total_s": 4.41} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.71, "round_s": 0.054000000000000006, "total_s": 4.41} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 1.71, "round_s": 0.0538, "total_s": 4.4} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.53053, "round_s": 0.014648800000000002, "total_s": 1.2629700000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.53214, "round_s": 0.014647799999999999, "total_s": 1.26453} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.5340199999999999, "round_s": 0.014646600000000001, "total_s": 1.26635} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.10186, "round_s": 0.0004308, "total_s": 0.12340000000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.10223, "round_s": 0.0004316, "total_s": 0.12381} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.10226, "round_s": 0.0004308, "total_s": 0.12380000000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17192, "round_s": 0.0096246, "total_s": 0.65315} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17206000000000002, "round_s": 0.009707, "total_s": 0.65741} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.17177, "round_s": 0.009561199999999999, "total_s": 0.64983} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.2704, "round_s": 0.0021194, "total_s": 0.37637} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.27144999999999997, "round_s": 0.0021056, "total_s": 0.37672999999999995} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.26937, "round_s": 0.0020686000000000003, "total_s": 0.3728} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.32043, "round_s": 0.005962800000000001, "total_s": 0.6185700000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.32224, "round_s": 0.005967200000000001, "total_s": 0.6206} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.32059, "round_s": 0.0059072000000000005, "total_s": 0.61595} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.72539, "round_s": 0.012766, "total_s": 1.36369} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.72499, "round_s": 0.012779400000000002, "total_s": 1.36396} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.7232200000000001, "round_s": 0.012773399999999999, "total_s": 1.36189} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.042960000000000005, "round_s": 0.013531199999999998, "total_s": 0.7195199999999999} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.042409999999999996, "round_s": 0.013462799999999999, "total_s": 0.7155499999999999} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.04281, "round_s": 0.013534999999999998, "total_s": 0.71956} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.44827, "round_s": 0.16940000000000002, "total_s": 8.918270000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.44939999999999997, "round_s": 0.172, "total_s": 9.0494} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.44669000000000003, "round_s": 0.1714, "total_s": 9.01669} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.87864, "round_s": 0.017236, "total_s": 1.74044} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.8771599999999999, "round_s": 0.017173, "total_s": 1.7358099999999999} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.87615, "round_s": 0.017209600000000002, "total_s": 1.73663} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.24930000000000002, "round_s": 0.0014036, "total_s": 0.31948000000000004} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.24933000000000002, "round_s": 0.001391, "total_s": 0.31888000000000005} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 1, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.24964, "round_s": 0.0014002, "total_s": 0.31965} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.6119, "round_s": 0.0302, "total_s": 2.1219} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.6113099999999999, "round_s": 0.0302, "total_s": 2.12131} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "scc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 31, "rows": 200000, "load_s": 0.61102, "round_s": 0.0302, "total_s": 2.12102} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18176, "round_s": 0.005810599999999999, "total_s": 0.47229} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18289, "round_s": 0.005791799999999999, "total_s": 0.47247999999999996} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "cc", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 11, "rows": 200000, "load_s": 0.18123, "round_s": 0.005765599999999999, "total_s": 0.46951} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.03736, "round_s": 0.00028680000000000003, "total_s": 0.051699999999999996} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.03724, "round_s": 0.00028579999999999995, "total_s": 0.05153} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "triangles", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 15, "rows": 200000, "load_s": 0.037090000000000005, "round_s": 0.0002862, "total_s": 0.05140000000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.0598, "round_s": 0.0046766, "total_s": 0.29363} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05921, "round_s": 0.0047168, "total_s": 0.29505000000000003} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "reach", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 10, "rows": 200000, "load_s": 0.05949, "round_s": 0.004662400000000001, "total_s": 0.29261000000000004} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.09822, "round_s": 0.0008636000000000001, "total_s": 0.1414} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.09698000000000001, "round_s": 0.0008636000000000001, "total_s": 0.14016} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "kcore", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 20, "rows": 200000, "load_s": 0.09740000000000001, "round_s": 0.000863, "total_s": 0.14055} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.1101, "round_s": 0.004099, "total_s": 0.31505} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.1118, "round_s": 0.004082, "total_s": 0.3159} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "stable", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 13, "rows": 200000, "load_s": 0.11045, "round_s": 0.004064, "total_s": 0.31365} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.24265, "round_s": 0.005969800000000001, "total_s": 0.5411400000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.23912, "round_s": 0.0059598, "total_s": 0.53711} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "tour", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 23, "rows": 200000, "load_s": 0.24099, "round_s": 0.0060126, "total_s": 0.54162} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02194, "round_s": 0.0084092, "total_s": 0.4424} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02163, "round_s": 0.0084278, "total_s": 0.44301999999999997} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "adt", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.02194, "round_s": 0.008446, "total_s": 0.44424} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.17979, "round_s": 0.07400000000000001, "total_s": 3.8797900000000003} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.18051, "round_s": 0.07400000000000001, "total_s": 3.88051} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.17896, "round_s": 0.0738, "total_s": 3.86896} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.23022, "round_s": 0.0056922000000000006, "total_s": 0.51483} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.22887000000000002, "round_s": 0.0056678, "total_s": 0.5122599999999999} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "ast_hier", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 6, "rows": 200000, "load_s": 0.22708, "round_s": 0.005655599999999999, "total_s": 0.50986} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 0, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07428, "round_s": 0.0005444, "total_s": 0.1015} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 1, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07415000000000001, "round_s": 0.0005454, "total_s": 0.10142000000000001} +{"date": "2026-09-06", "rev": "27a7ec47", "dirty": false, "scale": "medium", "workload": "unnest", "backend": "corgi", "workers": 4, "run": 2, "nodes": 100000, "edges": 200000, "churn": 100, "rounds": 50, "ops": 3, "rows": 200000, "load_s": 0.07446, "round_s": 0.0005438000000000001, "total_s": 0.10165} diff --git a/interactive/bench/reports/2026-09-06-27a7ec47-medium.md b/interactive/bench/reports/2026-09-06-27a7ec47-medium.md new file mode 100644 index 000000000..649b8ac24 --- /dev/null +++ b/interactive/bench/reports/2026-09-06-27a7ec47-medium.md @@ -0,0 +1,31 @@ +### initial epoch (load + first computation) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 42.8ms (n=3) | 111.1ms (n=3) | 21.9ms (n=3) | 51.8ms (n=3) | 2.60x | 2.36x | +| ast | 448.3ms (n=3) | 1.20s (n=3) | 179.8ms (n=3) | 419.7ms (n=3) | 2.68x | 2.33x | +| ast_hier | 877.2ms (n=3) | 1.35s (n=3) | 228.9ms (n=3) | 433.6ms (n=3) | 1.54x | 1.89x | +| cc | 532.1ms (n=3) | 870.6ms (n=3) | 181.8ms (n=3) | 267.5ms (n=3) | 1.64x | 1.47x | +| kcore | 270.4ms (n=3) | 803.7ms (n=3) | 97.4ms (n=3) | 240.8ms (n=3) | 2.97x | 2.47x | +| reach | 171.9ms (n=3) | 251.6ms (n=3) | 59.5ms (n=3) | 74.4ms (n=3) | 1.46x | 1.25x | +| scc | 1.71s (n=3) | 2.58s (n=3) | 611.3ms (n=3) | 832.5ms (n=3) | 1.51x | 1.36x | +| stable | 320.6ms (n=3) | 411.4ms (n=3) | 110.5ms (n=3) | 122.7ms (n=3) | 1.28x | 1.11x | +| tour | 725.0ms (n=3) | 1.12s (n=3) | 241.0ms (n=3) | 350.9ms (n=3) | 1.54x | 1.46x | +| triangles | 102.2ms (n=3) | 180.2ms (n=3) | 37.2ms (n=3) | 53.8ms (n=3) | 1.76x | 1.45x | +| unnest | 249.3ms (n=3) | 332.0ms (n=3) | 74.3ms (n=3) | 103.7ms (n=3) | 1.33x | 1.40x | + +### per churn epoch (median over the run's rounds) + +| workload | corgi w1 | vec w1 | corgi w4 | vec w4 | vec/corgi w1 | vec/corgi w4 | +|---|---|---|---|---|---|---| +| adt | 13.5ms (n=3) | 11.9ms (n=3) | 8.4ms (n=3) | 7.5ms (n=3) | 0.88x | 0.89x | +| ast | 171.4ms (n=3) | 166.4ms (n=3) | 74.0ms (n=3) | 102.8ms (n=3) | 0.97x | 1.39x | +| ast_hier | 17.2ms (n=3) | 11.8ms (n=3) | 5.7ms (n=3) | 3.8ms (n=3) | 0.69x | 0.68x | +| cc | 14.6ms (n=3) | 23.8ms (n=3) | 5.8ms (n=3) | 8.6ms (n=3) | 1.62x | 1.49x | +| kcore | 2.1ms (n=3) | 5.1ms (n=3) | 864µs (n=3) | 2.0ms (n=3) | 2.44x | 2.26x | +| reach | 9.6ms (n=3) | 14.0ms (n=3) | 4.7ms (n=3) | 5.3ms (n=3) | 1.46x | 1.13x | +| scc | 54.0ms (n=3) | 109.2ms (n=3) | 30.2ms (n=3) | 46.6ms (n=3) | 2.02x | 1.54x | +| stable | 6.0ms (n=3) | 8.2ms (n=3) | 4.1ms (n=3) | 3.4ms (n=3) | 1.37x | 0.83x | +| tour | 12.8ms (n=3) | 20.0ms (n=3) | 6.0ms (n=3) | 7.8ms (n=3) | 1.57x | 1.30x | +| triangles | 431µs (n=3) | 1.1ms (n=3) | 286µs (n=3) | 432µs (n=3) | 2.46x | 1.51x | +| unnest | 1.4ms (n=3) | 1.8ms (n=3) | 544µs (n=3) | 585µs (n=3) | 1.29x | 1.08x | From 766d59f4119b885c6b324d5427fcf6e318519d57 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Sun, 6 Sep 2026 11:38:28 -0400 Subject: [PATCH 24/25] DDIR bench: correct the corgi-vs-vec reading for initial epochs Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../bench/reports/2026-09-04-findings.md | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/interactive/bench/reports/2026-09-04-findings.md b/interactive/bench/reports/2026-09-04-findings.md index e99f0c78c..87ae6a477 100644 --- a/interactive/bench/reports/2026-09-04-findings.md +++ b/interactive/bench/reports/2026-09-04-findings.md @@ -23,10 +23,12 @@ are from this machine (M-series, 1 kHz samply), medians of 3 unless noted. program buckets 1.6M derived rows into 16 keys and takes `min`; each epoch's 100 changed rows touch most keys, and the history-replay reduce rebuilds each touched group (`ValueHistory::build`, `sort_blocks`, `merge_present`, - `BinaryHeap`). 166 ms per epoch against 260 ms for the whole initial load. - vec is identical (170 ms): the columnar scalar logic is not on the path at - all. A hierarchical `min` (the reduction-hierarchy rewrite) is the fix, and - it is an optimizer rewrite, not a backend one. + `BinaryHeap`). 166 ms per epoch against 450 ms for the whole initial load + (the 260 ms first reported was under-counted, section 19). vec's churn + epoch is identical (170 ms): at churn the columnar scalar logic is not on + the path at all. On the initial epoch it is, and there corgi is 2.7x + ahead. A hierarchical `min` (the reduction-hierarchy rewrite) is the fix + for the churn cost, and it is an optimizer rewrite, not a backend one. - scc's `PointStamp` is two coordinates deep (`outer` holds `fwd` and `bwd`), and `PointStamp` inlines only one (`SmallVec<[T; 1]>`), so every time join in scc heap-allocates. Worth a measurement with `[T; 4]`. @@ -34,10 +36,14 @@ are from this machine (M-series, 1 kHz samply), medians of 3 unless noted. ## 2. corgi vs vec, medium scale Per churn epoch corgi is 1.9x (scc), 1.3x (kcore, reach, stable, tour), 1.0x -(ast, unnest, adt) at one worker; the initial epoch is 1.0–1.5x. The 2.5x -figures from the corgi-opportunities work were at a larger scale on the old -harness; here the reduce and merge machinery, which both backends share -through DD's proxy tactics, sets the pace. +(ast, unnest, adt) at one worker: there the reduce and merge machinery, which +both backends share through DD's proxy tactics, sets the pace. On the initial +epoch the picture is different from what the first report said — that report +was taken through the example driver, which under-counted load-time compute +for both backends (section 19). Measured through the live server, corgi's +initial epochs are 2.6–3.0x ahead of vec on the compute-heavy programs (ast +2.7x, adt 2.6x, kcore 3.0x) and 1.3–1.8x on the rest; the "corgi = vec on +ast" reading in section 1 holds for churn epochs only. ## 3. Things that were not the workload From 567d8dd6e56ab1fd4e293003f19f4bcbd8747205 Mon Sep 17 00:00:00 2001 From: Frank McSherry Date: Sun, 6 Sep 2026 17:07:21 -0400 Subject: [PATCH 25/25] DDIR bench: the spike's parked state and open items, in one place Disposition of everything the spike left behind: the six backend commits ready to land, the merge decision (row-wise fast path vs survey merge, and what the latter waits on), the open items with a measured shape, the things tried and recorded as no, and the loose ends elsewhere. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QDsLC46QQW9aBrksaWad6T --- .../bench/reports/2026-09-06-open-items.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 interactive/bench/reports/2026-09-06-open-items.md diff --git a/interactive/bench/reports/2026-09-06-open-items.md b/interactive/bench/reports/2026-09-06-open-items.md new file mode 100644 index 000000000..25075787e --- /dev/null +++ b/interactive/bench/reports/2026-09-06-open-items.md @@ -0,0 +1,78 @@ +# DDIR bench spike, parked: state and open items (2026-09-06) + +This branch (`bench-spike`) is the side spike that followed the server +migration (PR #858). It is parked here, as a draft PR, so that what was +learned and what is still open is public rather than in one person's notes. +The findings themselves are in [`2026-09-04-findings.md`](2026-09-04-findings.md) +(twenty sections); this file is the disposition of everything the spike left +behind. Commit hashes are as of the rebase onto master-next 9a02d5dd. + +## Ready to land, as one small PR + +Corgi-backend fixes, each tied to a profile finding, each measured, tests green: + +| commit | what | finding | +|---|---|---| +| 485eeef9 | `CorgiChunk::advance` advances each distinct time once, not once per row | §6 | +| 020bd146 | join projection compiled once per operator, not once per output block | §3 | +| 34c37a87 | typer memoizes `shape_of_term` within one lowering (nested conditionals were 3^depth) | §7 | +| b19e1cfe | the reduce probes each chunk with its slice of the change set | §14 | +| 9e5e7012 | the merge's key-order check compares adjacent rows in one pass | §16 | +| 29bc8933 | `cc.ddp` and `triangles.ddp` as example programs, with tests | §8 | + +Plus, on `survey-merge`: 3c4c7953, `ColTimes::push_range` copies time ranges +as lanes (`extend_from_self`), not row by row. Independent of the corgi pin; +it was the per-row cost that mattered in the merge (§18). + +## Decision needed: which merge + +- da105bfa (`bench-spike`) merges integer lanes with integer compares, row by + row. A shape-specific fast path. Recommendation: do not merge it. +- a8313a2d (`survey-merge`) merges by corgi's `survey`: exclusive runs copied + by range, row work only inside matched `(key, val)` groups. At parity with + the fast path (§18; re-timed after the rebase in + `2026-09-06-6d8ed333-medium-rebased.md`), no per-row compare. It needs + corgi's `survey` to gallop lane by lane over product columns. WIP PR #22 + does that for products of `u64` leaves only, and is not being merged as a + spot fix: the general form is the subject of the lane-wise line of work + (`corgi/dev/comparisons.md` on branch `corgi-comparisons-survey`, + `corgi-sort-bfs`). `survey-merge` currently pins corgi at the #22 head + (6d8ed333) for validation; re-pin when the general form lands. + +## Open, with a measured shape + +- **Hierarchical `min`** in the DDIR optimizer (§15: more than two levels pay). +- **`leave_dynamic` over multi-element stamps**, then the open-loop + `tick n sync=k` (§11). DD PR #855 has the stamps work and needs a rebase. +- **A `sum` reducer**, then TPC-H by transcription; LDBC assessment in §10. +- **Four-worker scaling** is weak: a quarter idle, a fifth coordinating (§4, §9). +- **Linear ops after a join are a separate operator.** The optimizer fuses + Linear into Linear only; scc's `trim` chain renders as join, arrange, join, + linear[filter, project] on both backends. Pushing a sole-consumer, + time-preserving Linear into the join's output logic is an optimizer rule + plus a `post` chain on `Node::Join`; a small constant, not the scc gap + (not among the >3% entries of the scc profile). Turning the label equality + into a join key is an e-graph rewrite (PR #856). +- **Compiled baselines** exist only for scc (PR #837, four rungs; corgi is + ~2.7x the compiled plan). A `.ddp → .rs` emitter would produce the + "compiled DDIR plan" rung for every program mechanically; proposed, not started. + +## Tried and recorded as no + +- Four inline `PointStamp` coordinates (§5). +- `find_ranges` galloping from the previous hit (§13). +- The example driver's initial-epoch numbers were under-counts; the live + server's are the standing ones (§19). + +## Harness + +`bench/bench.py` drives the live server binary; reports are JSONL plus a +markdown summary named by date, revision and scale. The reports on this +branch are its record and need not merge; the harness could, without them. + +## Elsewhere + +- WIP corgi PRs #19 and #20 are not merging (too complex; optimizes a method + the batched merge makes dead). +- Worktree `WIP-effect` holds an uncommitted differential test of #21's + producers against master's fused loops; a review artifact for a merged PR.