Repository navigation
Fix language-feature edge cases and speed up member preparation - #826
Open
renkun-ken wants to merge 16 commits into
Open
renkun-ken wants to merge 16 commits into
renkun-ken wants to merge 16 commits into
Conversation
This reverts commit 13d91f9.
Merged
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.
Repeated saves can restart expensive member metadata preparation before it finishes, while several completion, navigation and workspace lifecycle edge cases leave editor results incorrect or stale. This PR coalesces member refreshes, reduces preparation and editing costs, and fixes those usage cases.
Changes
source()calls inside computed callees, including immediately invoked anonymous functions, and refresh older workspace-index caches so unchanged files recover these dependencies.Performance
Three serial local passes on R 4.6.1/macOS arm64 produced these medians. The usage workloads compare
cf116ddwith this branch:Fresh member workers with Polars 2.0.0 compare
bb8eb83with the member preparation changes:The usage rows isolate extraction, edit construction and diagnostic conversion. Worker rows include fresh process/server loading, namespace preparation and metadata transfer, and exclude scheduling, document parsing and editor rendering. All workloads use neutral fixtures and validate results; timing varies with hardware and load. Reproduction scripts and measurement boundaries are documented in
inst/benchmarks/README.md.Validation
R CMD check --as-cran --no-manualon R 4.6.1/macOS arm64: 0 errors, 0 warnings, 14,733 passing assertions and 23 skips.R/index_worker.Rremains.Regression coverage checks quoted and raw literals, Unicode/UTF-16 ranges, lexical scope, workspace moves and closes, typed request IDs, static source discovery, namespace identity equivalence and collisions, LRU/legacy cache behavior, save coalescing, stale callbacks and timing boundaries. Member-refresh regressions use inert sessions, and automated tests assert behavior without elapsed-time thresholds.