feat(bench): add --since filter to analyze; journal session
This commit is contained in:
1 parent
4fa9a6ab81
commit
ccc9695250
2 files changed
+36
No files matched your search
@@ -510,3 +510,36 @@ Commits: `a84319b` (fix(mods): MidnightLib 1.10.0 + `analysis/state/`), `e18bd3c
|
||||
Next: owner calls on noise controls (see harness README / session report), then S4
|
||||
build → B0 (`bench.py session --variant C0 --plan s1 --reps 3 --label B0`, ×3
|
||||
sessions) → matrix.
|
||||
|
||||
## Session 2026-10-16 — bench world finished, harness v3, matrix running
|
||||
|
||||
Owner: stop the dedicated server while benching (done via console `stop`; tmux
|
||||
`onion-mc` is gone — restart with `./start.sh` in tmux when benching ends; packwiz will
|
||||
pull MidnightLib 1.10.0, jar also dropped in `mods/`). Gamescope integration approved.
|
||||
|
||||
- **Harness**: `--display gamescope-headless` default @1920x1080 (~2 % cost vs desktop,
|
||||
isolates from the shared KDE Wayland desktop). Per-session `--shader/--shader-options/
|
||||
--dh/--disable-mods/--add-mods/--world-zip` with a crash-safe restore journal
|
||||
(`bench.py restore`). Plan forces **spectator** — elevated scene cameras previously fell
|
||||
(S4 measured the sea floor at y=34). `shader_not_loaded` flag. `matrix.py` +
|
||||
`matrix.toml` = resumable B0–B14 runner; B7 profiles generated from pack
|
||||
`profile.*` lines (`gen_shader_profiles.py`); B12b trial jars in `~/onion-bench/trials/`.
|
||||
Post-join settle 45 s (rep 1 still warming at 10 s). Commits `c6341d0`, `4fa9a6a`.
|
||||
- **Bench world** built headlessly on `~/onion-bench/server-bench` via RCON:
|
||||
S4 = 4 Sable sub-levels (5×7×15 planks/glass, levitite floor + 2 interior layers —
|
||||
the 1-layer design sank ~14 blocks per physics wake), via `/sable assemble area`;
|
||||
stable at y≈169.24 across restarts and a 60 s client session. Removed 370 stray
|
||||
force-loaded chunks (S2/S3/S4 ticked in every scene). DH LODs pre-generated with
|
||||
`/dh pregen start minecraft:overworld <x> 0 256` at x=0 and x=3680 (1.2 GB sqlite).
|
||||
S2 rotates (Speed 16 sampled), S3 = 30 villagers.
|
||||
Zips in `~/onion-bench/worlds/` (sha256):
|
||||
`bench-world-v1.zip` 144caf5fcdfea1a0eac0c787fdcded949e1a67df6ac112400f37be30ce7fb76e,
|
||||
`-s4-1.zip` 213b9b8871be527d0b5ac2e34615e8c2c1e3b206277fb37549a3014e2b895a38,
|
||||
`-s4-0.zip` 6b2a2bbd16f9f2e5aba34d53b09752d30fb7f9c3a97c24c46131b54d12bdc234.
|
||||
- **Matrix** run 1 (tmux `bench-matrix`, log `~/onion-bench/results/matrix-run1.log`):
|
||||
B0,B1,B2,B3,B4,B5,B6,B7(noshader),B8–B12a. B0 noise (settle 45): p99 spread 0.40 ms,
|
||||
1%-low spread 6.6 fps. **B2: C1 beats C0 on every scene** (S1 p99 8.23 vs 9.33;
|
||||
S3 1%-low 186 vs 110) → no bisect stop. Early B3: dh-qlow wins S1, dh-ssao loses,
|
||||
dh-thr4 loses S5 (threads stay 2). Analyze with `--since 2026-10-16T22:24`.
|
||||
- Remaining after run 1: B4h (`--param gc=`), B7 shader rows, B12b, B13, B14, ship,
|
||||
owner report. Analysis proxy-only; noise floor gpu_dpm_auto (no root).
|
||||
@@ -176,8 +176,11 @@ def main(argv=None):
|
||||
ap.add_argument("--noise", help="label whose spread is the win threshold, e.g. B0")
|
||||
ap.add_argument("--include-invalid", action="store_true")
|
||||
ap.add_argument("--exclude-backup", action="store_true")
|
||||
ap.add_argument("--since", help="only rows with ts >= this ISO time, e.g. 2026-10-16T22:24")
|
||||
a = ap.parse_args(argv)
|
||||
rows = load_rows(a.file)
|
||||
if a.since:
|
||||
rows = [r for r in rows if r.get("ts", "") >= a.since]
|
||||
total = len(rows)
|
||||
if not a.include_invalid:
|
||||
rows = [r for r in rows if is_valid(r, a.exclude_backup)]
|
||||
|
||||
Reference in new issue
Block a user