Repository navigation
Profile world placement stages and per-section rebuilds - #337
Merged
Merged
Conversation
…n placements, check drift in the web build
InventivetalentDev
marked this pull request as ready for review
October 17, 2026 19:43
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The world benchmark counts section builds without identifying which section rebuilt or separating input preparation, worker waits, and mesh assembly. Add opt-in
--profile-placementinstrumentation to record those stages and attribute each section build to the placement or unload that started it.The runner instruments four built ESM modules in memory and passes explicit parent IDs through asynchronous rebuilds, including concurrent fluid-only sections. Library source, package output, and the worker stay unchanged. The report includes raw spans, per-stage interval unions, per-section build counts, and a per-pass
summary. A build counts asownColumnBuildswhile its section's column is being placed,neighborBuildsduring the placement of other columns, andunloadBuildsduring unloading. The web build runs the instrumentation against the built library, so a changed instrumented method or a renamed variable that the instrumentation splices in failsyarn build. The README documents the flag, stage boundaries, and timing and memory limits.On the fixed Minecraft 1.16.2 Etho route, each pass builds 965 sections: 428 during their own column's placement and 537 during later neighbouring placements. No section is built twice within one placement. These are placement-batching candidates (#339), not proof that individual border refreshes are unnecessary.
Validation:
yarn testand the other repository suites.