Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux103/REPORT.md
T
Fr0zkaandClaude Opus 5.5 8d62ba57ed research: post-swept-tube near-ready cost account (L103, measurement only)
FI/TN LOD0-2 W12 worker CPU 13.9/12.2 s: passages 40/35%, far-shell refinement (HasDownwardHit/
HasUpwardHit ~1.7-1.9 s) in 'other' 27/30%, support 14/13%, dispatch 8%, base field 6%, bands 6%.
Workers 28%/24% idle during LOD0-1. Near-ready W12: SW 0.77, FI 1.51, TN 1.38, VS 0.96 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
2026-10-28 19:39:47 +01:00

126 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Linux103 — current near-ready cost account
Source stamp: `c5f49a45f51856b857a1ee8877b7d777208e67daf64281caefc7ef84e8006410`.
L77 cost rows are medians of three W12 profiles per stratum. Phase CPU is estimated by
sample share, calibrated to direct tile-worker CPU. Timer weights include `1 + si_overrun`.
## W12 cost
| LOD0–2 worker cost | FI | TN | Measurement |
|---|---:|---:|---|
| Direct tile-worker CPU | 13.919 s | 12.155 s | Direct worker timers |
| Passage phase | 5.538 s (39.8%) | 4.209 s (34.6%) | L77 sample allocation |
| Other phase | 3.749 s (26.9%) | 3.681 s (30.4%) | L77 sample allocation; mostly far-shell refinement |
| Support | 1.864 s (13.7%) | 1.623 s (13.0%) | L77 sample allocation |
| Dispatch lookup | 1.107 s (8.0%) | 1.043 s (8.6%) | L77 sample allocation |
| Base field | 0.831 s (6.1%) | 0.808 s (6.5%) | L77 sample allocation |
| Composition bands | 0.773 s (5.7%) | 0.781 s (6.3%) | L77 sample allocation |
| Graph, caps, edits | 0.084 s | 0.053 s | L77 sample allocation |
Phase rows partition the worker total. Direct stage timers overlap that account: MC total/grid
fill was `9.838 / 9.263 s` FI and `7.827 / 7.340 s` TN; skirt mesh was `0.656 / 0.661 s`.
Grid-fill sample estimates closed against direct `mc_grid_ms` at 100.0% FI and 99.8% TN.
Whole near-worker sample closure was 99.2% FI and 99.1% TN.
Passage share is 39.8% FI / 34.6% TN. L99's earlier W8 census reported 34.78% / 28.81%;
that comparison crosses source stamps and worker counts. Current near exact-fallback calls
(901,055 / 607,012) make off-grid exact work a plausible contributor, but its causal share was
not isolated.
Top route × phase allocations (direct-worker-equivalent seconds):
| Stratum | Largest route × phase costs |
|---|---|
| FI | packed-scalar passages 4.533; analytic-scalar passages 0.936; packed support 1.651; packed bands 0.641; dispatch 1.095; unknown/other 3.745 |
| TN | packed-scalar passages 3.119; analytic-scalar passages 1.089; packed support 1.394; packed bands 0.671; dispatch 1.035; unknown/other 3.673 |
Passage sweep work: FI used 3,371,576 base and 347,335 detail samples (90.7% / 9.3%);
TN used 3,145,983 and 332,547 (90.4% / 9.6%). Symbolized samples attribute about
`0.247 / 0.143 s` FI and `0.261 / 0.169 s` TN to base/detail preparation, `1.010 / 0.739 s`
to sweep lookups, and `0.822 / 0.585 s` to exact-route visits plus miss-bound tests. Those
subcosts are sampled estimates, not separate direct timers.
Near LOD0–2 sweep disposition was FI `13,903,288 misses = 901,055 exact fallbacks + 13,002,233
skips`; TN `9,086,664 = 607,012 + 8,479,652`. The exact-fallback totals include 255,529 FI and
250,311 TN skirt queries. Near far-shell stratum refinement made 410,980 FI and 447,978 TN
off-grid queries. Symbolized `HasDownwardHit` / `HasUpwardHit` samples attribute about 1.73 s
FI and 1.85 s TN to those hit checks.
Whole-view off-grid caller counts, per run:
| Caller | FI | TN |
|---|---:|---:|
| MC midpoint unique points | 29,101 | 29,864 |
| Skirt surface / extruded / clipped vertices | 21,380 / 192,868 / 26,365 | 21,082 / 191,186 / 22,643 |
| Skirt refinement face / coarse centroid | 188,382 / 210,056 | 184,353 / 209,077 |
| Far-shell surface / projection-normal queries | 539,321 / 192 | 539,321 / 192 |
| Far-shell stratum refinement | 1,131,895 | 1,145,781 |
Across all four strata, all-view sweep misses totaled 63,036,259: 1,908,562 exact fallbacks and
61,127,697 skips. Skip reasons were feature bound 59,646,691; tile free 147,272; vertical bound
160,272; negative reach 1,158,700; positive reach 14,762. Per-caller miss totals equal exact
fallbacks plus skips; unaccounted misses are zero. All 12 W12 profiles had zero lost samples,
and their parsed sample counts and expanded-tick sums matched.
## Critical path and readiness
In the W12 timeline traces, FI LOD0–1 settled at 1.605 s; TN at 1.218 s. The far-parent build
then took 171 ms FI / 114 ms TN. The LOD2 batch started as the far parent completed and drained
in 56 / 79 ms. Shape compile was 311 / 200 ms in the traces. Worker-pool busy time was 70.7%
FI / 75.0% TN, with 28.3% / 24.3% explicitly idle. The long interval is LOD0–1 tile work;
the LOD2 tail is short.
L80 protocol medians, `near LOD0–2 / whole view` seconds, three interleaved runs per cell:
| Stratum | W8 | W12 |
|---|---:|---:|
| SW | 0.764 / 1.914 | 0.772 / 1.786 |
| FI | 1.612 / 2.593 | 1.508 / 2.404 |
| TN | 1.510 / 2.432 | 1.377 / 2.199 |
| VS | 1.107 / 2.061 | 0.958 / 1.822 |
The W12 whole-view pipeline reported shape / far-shape times of 0.199 / 0.114 s FI and
0.215 / 0.114 s TN.
## Next lever
No single value-preserving code change was clear from the timers, so L103 ships the following
ranked candidates. Savings are inferred CPU scenarios; elapsed-time gains and hash preservation
need a changed build to measure.
1. Reduce passage sweep/carve work. It is 5.54 s FI / 4.21 s TN; a 10% reduction would save
about 0.55 / 0.42 worker CPU seconds.
2. Reduce far-shell hit checks. The symbolized estimate is 1.73 / 1.85 s; a 25% reduction would
save about 0.43 / 0.46 worker CPU seconds. The million-plus whole-view refinement queries make
this the best bounded target to investigate.
3. Reduce support traversal. It is 1.86 / 1.62 s; a 25% reduction would save about
0.47 / 0.41 worker CPU seconds.
## Hashes and checks
All 24 whole-view runs matched across Clang/GCC W1/W8/W12. The 20 peer comparisons had identical
tile counts and zero density, mesh, payload, or topology mismatches. All 24 hashes also equal
the corresponding L101 runs.
| Stratum | Tiles | Clang W1 whole hash: density / mesh / payload / topology |
|---|---:|---|
| SW | 2,850 | `8723d8c61348bf31 / fe1c3e410373a343 / bf111bbc45e2f017 / c9c562b100b51f7f` |
| FI | 2,249 | `6bb633f756e2b8be / fe930e83b0dc6bf3 / 5298602285b6892c / e306f87ae432a4fc` |
| TN | 2,233 | `612b2d11fc6bd946 / c026a40c6127d649 / 0f9036914e28fe46 / 94b36e5f73694eff` |
| VS | 2,329 | `99c93f4c7155ffb3 / 488d421c6438f529 / 249b5afc12be4540 / 9c5e22f6dc1e44b8` |
Fast tier: **PASS**, 274 checks (269 pass, five retained diagnostics), 274.4 s. No production
`Source/` files changed, so no Unreal build or arrival trace was required.
## Failed or excluded runs
- The first fast-tier launch exited before running checks because its temporary binary symlink
was wrong. The corrected run passed.
- The first readiness launch had no output directory and started no headless process; all 32
subsequent warmup/measured runs completed.
- The W8 census and an earlier policy-3 census are retained separately and excluded from the
final W12 account. All final W12 census, timeline, readiness, and hash headless runs passed.
Headless runs used `taskset -c 0-11 prlimit --as=6442450944` and a 1,740-second timeout.
Artifacts are under `Saved/Linux/l103/`.