perf: accelerate source scanning and split-pane editing - #6
Merged
Merged
Conversation
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.
Small edits in long lines and split panes spent time rescanning unchanged text and restyling peer selections. Keep captured edits bounded, restore peer selection within the focus-aware styling scope, and scan unchanged UTF-16 spans in bulk. Compute document metadata in one UTF-8 pass and update the line index using only the edit and its CRLF boundary context.
Add regression coverage for Unicode/chunk boundaries, CRLF normalization and line-index seams, and unfocused peer selection. Tighten edit-pipeline performance budgets and assert that split-pane propagation neither rebuilds the peer pane nor publishes extra source revisions.
Local optimized-build p95 measurements (nine samples per workload):
Validation:
./scripts/verify.shpassed, including arm64 Debug/Release builds, lint, architecture checks and fixtures, vendor validation, 447 unit tests, 23 E2E tests, and 18 performance tests. Independent review completed after the CRLF boundary correction. Timings are local measurements, not cross-machine guarantees.Startup investigation is paused and excluded from this PR. Packaging, installation, signing, and distribution were not run.