83a0e4d85cb7f3e447ad2ef31010d6a626eb82d9
Three-mode outer-classifier A/B on the headless game path, nested refinement off in all
modes, clean and diagnostics off. Runs made by the forked Codex session; the table was
assembled and checked by me from its logs (Saved/OuterABMode*_20260912.log,
OuterABMove*Headless_20260912.log).
static ready p95 mode0 182.4-182.7 mode1 189.7-194.8 mode2 190.0-194.7 ms
gen p95 mode0 124.9-127.0 mode1 139.1-140.6 mode2 140.3-141.3 ms
worker CPU mode0 184.9-193.5 mode1 201.2-202.3 mode2 201.2-201.3 s
density mode0 18.05M mode1 21.89M mode2 21.89M
moving ready p95 mode0 198.9 mode1 208.0 mode2 210.7 ms
density mode0 57.7M mode1 69.6M mode2 69.6M
The outer classifier costs more than it saves: with it removed (mode 0), every latency
figure improves and density calls drop by about 18%. Mode 0 also cannot remove geometry,
because it skips nothing.
Mode 2 (reuse the validation samples as the mesher's core grid) recorded 0 reuse tiles in
every run. That is by design, not a bug: the grid is only reused when validation DISPROVES
a uniform verdict, and it disproved none. Mixed tiles, which are the ones that need a
grid, never run validation at all.
Recommendation recorded in WORK-NEXT.md, pending the owner: default the outer classifier
mode to 0. The code default is NOT changed in this commit.
CORRECTION to f204413, whose message says the nested classifier's 3.5x could not be
reproduced. That was my error. I passed the streaming console variable
-voxel.UseBlockEarlyOut=1 to the export commandlet, which reads its own -blockearlyout=
argument (VoxelForgeExploreCommandlet.cpp:381, :1093), so both of my runs had nested
refinement off. Re-run with the right flag:
-blockearlyout=0 0.553 / 0.572 s
-blockearlyout=1 2.036 / 2.060 s 3.6x, geometry SHA-256 b3e5f4c3..9b377 identical
The 3.5x was real. Turning nested refinement off in streaming (f204413) was worth it,
and Sol's reading of the table was right where mine was wrong.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VZS94UH8bSsBeg5sZaxe2Y
measure(perf): the remaining 4.3x is ALL density evaluation -- and the classifier costs 3.5x in game
Languages
C++
97.6%
C
2.3%
C#
0.1%