Column-cache census matches assembler/world (the L77 share rise was relative, not more calls). Reuses the TN predicate and skips relief/mouth/shell work for stamped samples outside the 1.053 m influence. vs assembler/world: whole view -0.5..-4.0% on all layers; near-ready Surface World +0.3/+1.7, Floating Islands -4.3/+2.9, Tunnel Network -2.5/+2.9, Vertical Shafts +4.7/+3.3 (A/A ±1%). 16/16 seeds, fast tier, Clang/GCC green. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
4.4 KiB
Linux138 — final cave planner speed pass
Source stamp: 9aade4e6cb33e86c36b89440644d9ef5d440288fb6ff0af03af128291c95f93f.
Result
The suspected column-cache regression is not present in the measured counters. Calls and formula evaluations per tile match assembler/world; the small miss deltas change sign between W8 and W12. The L77 CachedColumn and shared TryRead increases were normalized sample-share changes, not evidence of more cache calls.
I removed repeated route identity checks and added a fast path for prepared sweep samples that are stamped outside all passage influence. The path preserves the sample's flat distance in the union and skips wall/floor shell work whose bounds are positive. The speed bar is still missed on several near-ready cells, especially Vertical Shafts. No version bump or baseline update was needed: output audits remained green.
Before-change cache census
Means per near-ready LOD0–2 tile, averaged across the five measured L137 L80 runs per worker count. Each cell is assembler/world / L137 candidate.
| Stratum / workers | Point calls | Local hits | Local misses | Shared hits | Formula evaluations |
|---|---|---|---|---|---|
| Surface World / W8 | 6529.395 / 6529.396 | 5712.251 / 5720.303 | 817.144 / 809.092 | 570.207 / 562.158 | 246.937 / 246.934 |
| Surface World / W12 | 6529.395 / 6529.396 | 5642.386 / 5641.558 | 887.009 / 887.838 | 639.976 / 640.851 | 247.033 / 246.987 |
Floating Islands, Tunnel Network, and Vertical Shafts had zero generic heightfield column calls and cache hits/misses per near-ready tile in both binaries. Floating Islands' separate local/shared cache counters were also zero in its profiled LOD0–2 tiles. The shared TryRead path is reached on local misses: W8 had about 8 fewer misses per tile on the candidate, while W12 had 0.83 more. Cache code, key, and window are unchanged versus assembler/world in WorldAssemblerInternal.h, SharedColumnCache.h, and FloatingIslandsInternal.h.
L77 reports each function's share of sampled worker ticks. A higher share can result when other work takes a smaller share; it is not a cache-call counter. The before-change census is in Saved/Linux/l138/prechange/column-cache-counts.json; the separate Floating Islands counters are in Saved/Linux/l138/prechange/island-cache/summary.json.
Change and timing
ShapeWorldInternal.h now reuses the already-computed Tunnel Network stratum predicate in the passage loop. For a swept sample with no exact contribution, it adds the same flat outside distance to the union, then skips relief, mouth, wall, and shell calculations. The influence bound is 1.053 m (0.75 m shell + 0.21 m relief + 0.083 m corner support + 0.01 m guard); the stamped sentinel is one subvoxel beyond it.
Final L80 used one warm-up and five interleaved runs per binary, at W8/W12 across all four strata. The quiet-host gate passed at load 1.34 and 98.9% CPU idle. Deltas are candidate medians versus assembler/world; the L137 A/A noise floor is ±1%.
| Stratum | Near-ready W8 / W12 | Whole-view W8 / W12 |
|---|---|---|
| Surface World | +0.34% / +1.72% | −0.48% / −0.93% |
| Floating Islands | −4.34% / +2.87% | −3.11% / −1.50% |
| Tunnel Network | −2.54% / +2.86% | −3.96% / −1.73% |
| Vertical Shafts | +4.66% / +3.25% | −1.73% / −2.06% |
Only Surface World W8 is within ±1% near-ready. The per-LOD worker totals show LOD2 down 24–39% on Floating Islands, Tunnel Network, and Vertical Shafts, but Vertical Shafts LOD0/1 are up 5–22%; that remaining work keeps its near-ready medians outside the bar. Tunnel Network W8 is the closest of its two near-ready cells.
Checks
- Fast tier: PASS, 273 checks, 286.0 s.
- Composed sweep: PASS, 16/16 seeds, with passage, seam, shell, mouth-profile, naturalness, ripple, and blocked-route controls.
- Clang/GCC W1/W8/W12: PASS, all 13 determinism hash lines match.
- Linux
VFHostEditorDevelopment: PASS, 5 actions, 38.19 s with-NoUBA -MaxParallelActions=4; noprlimit. - The full verification tier and Windows UE build were not run. No Unreal
Source/files changed.
The first fast-tier invocation used the verifier's default l42 output directory and refused its stale binary. I reran it with --out Saved/Linux/l138; the final-source run passed.
Build, fast-tier, seed, determinism, cache-census, and timing logs are under Saved/Linux/l138/; the final timing matrix is Saved/Linux/l138/timing/summary.json. Changes are uncommitted.