Repository navigation
perf(main): the verdict skips its walk set on a book with no promise - #2060
Merged
Merged
Conversation
book_promises built own (the deduped book.order outside Base) before its early return, so every book without an @unsafe or foreign def paid for a Set over every def it then threw away. The two root lists now come from one pass over the tlds, and own is built after the early return. generics_3200 (28812 defs, no promise): book_promises 6.5 -> ~2 ms, the check 0.399 -> 0.393 s (min of 9, local). The verdict text is unchanged on the 57 tests that print one, the 17 that list promises included. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
book_promises(the--verdict/default check verdict) builtown, the deduplicatedbook.orderoutside Base, before its early return. So every book with no@unsafeor foreign def paid for aSetover all its defs and then threw it away. This PR collects the two root lists (@unsafe, foreign effects) in one pass over the tlds and buildsownonly after the early return.Found while profiling why
generics_3200's checker cell sits at 1.12–1.21× its pin. Most of that growth is the parser; this is the part inmain.ts.Measurements (local, min of 9 runs)
book_promisesitself drops from 6.5 ms to about 2 ms on generics_3200.Checks
main.tsgoes from 13038 to 13049 ttok (cap 16000)._run.ts): repo 56/56. Perf passed 122/124; the cell over its limit in a second run under the same load was merkle's compile time, which this PR can't affect. Ping fails 2 BendHub publish checks, as on main. Test fails 7 io/gfx tests withPermission denied, as on main: stale/tmp/bend_io_*files owned by another user on cluster nodes 58 and 72–78.🤖 Generated with Claude Code