benchmarksPublic
benchmarksPublic
mrmrs-fad256
mrmrs-fad256
Open into main
2 commits
·
6 files
+4 added ~2 modified
· 6 behind main
·Seen by zach 3 days ago
M
README.md
@@ -383,6 +383,43 @@
383383
--results /abs/worker-owned/materialization-ab/results384384
```385385
386+
Fresh shallow worker -> named task branch at current `main` -> first parent387+
refresh, Oak versus Git, with per-step HTTP request counts:388+
389+
```bash390+
python3 scripts/task_loop.py \391+
--config /abs/path/subjects.toml --subjects git,oak_baseline,oak_candidate \392+
--oak-serve-bin /abs/immutable/fixed-oak-serve \393+
--scenarios shallow_worker_branch_refresh_v1 \394+
--shallow-refresh-fixtures 1000:1,2000:2 \395+
--runs 7 --randomize-subject-order --injected-request-delay-ms 0 \396+
--workdir /abs/worker-owned/shallow-refresh/work \397+
--results /abs/worker-owned/shallow-refresh/results398+
```399+
400+
Each `COMMITS:SEED` fixture is a deterministic merge-history Git repo401+
(`oakbench/merge_history_fixture.py`, ~5-7% two-parent merges). During untimed402+
setup it is imported into an owned loopback `oak serve` and a bare Git repo on403+
`GitHTTPServer`. Both sit behind `oakbench/httpcount.py` proxies that frame404+
HTTP/1.x requests: rows carry `http_request_count`,405+
`http_commits_info_request_count` and wire bytes, and all are null when the406+
stream could not be framed. The Oak cell times `clone --shallow` ->407+
`switch -c task` -> `fetch`. It then records a separate408+
`shallow.branch_create_repeat_local` row, which isolates local switch cost in409+
the already-refreshed worker. A second Oak cell, `shallow_pull.*`, repeats410+
the fresh clone and `switch -c task`, then runs `pull` instead of `fetch`.411+
Together the two cells show which command pays for the first-refresh412+
ancestry work. The Git cells are `clone --depth 1` ->413+
`switch -c` -> `fetch`, plus `warm_worktree.*`, which starts from an untimed414+
warm full clone. That is a different starting state and is labeled as such.415+
The oracle reads `.oak/oak.db` query-only (or `git rev-parse`), requires the416+
task branch head to equal the server's `main`, and requires the worktree to417+
hash to the fixture model's tree. Rows record `serve_depth_behavior`: a Serve418+
that ignores `--shallow` depth yields `serve_depth_ignored`, and such rows are419+
a fidelity baseline, not hosted-equivalent evidence (`hosted_equivalent` is420+
always false on loopback). `--injected-request-delay-ms` is a fixed per-request421+
sleep in the proxy, not a shaped network.422+
386423
Add `--oak-serve-source /abs/read-only/exact-head-checkout` when that immutable387424
checkout is retained; otherwise rows explicitly record that only the supplied388425
source head and binary hash were available for provenance.
A
scripts/oakbench/httpcount.py
Loading diff…
A
scripts/oakbench/merge_history_fixture.py
Loading diff…
A
scripts/oakbench/shallow_refresh.py
Loading diff…
M
scripts/task_loop.py
Loading diff…
A
tests/test_shallow_refresh.py
Loading diff…