Skip to content

Improve language server responsiveness - #745

Merged
renkun-ken merged 4 commits into
masterfrom
improve-performance
Jul 17, 2026
Merged

Improve language server responsiveness#745
renkun-ken merged 4 commits into
masterfrom
improve-performance

Conversation

@renkun-ken

Copy link
Copy Markdown
Member

Summary

  • Precompute semantic tokens and symbol/call indexes in background parse workers.
  • Add semantic-token delta responses, request cancellation/coalescing, and correct range filtering.
  • Use indexed lookups for references, rename, highlights, code lenses, and call hierarchy.
  • Prioritize parse work, supersede stale tasks, keep warm asynchronous workers, and defer diagnostics.
  • Bound parse and diagnostics caches by memory and constrain range providers to requested lines.

Performance

  • 3,000-line semantic-token full response: ~813 ms to ~1 ms.
  • 100-line inlay-hint request: ~3.3 s to ~130 ms.
  • References with 300 uses: ~2.4 s to ~10-40 ms.
  • 3,000-line parse: ~950 ms to ~725 ms despite the additional indexes.

Validation

  • Full test suite passed.
  • R CMD check --no-manual passed; the only warning is a local Apple compiler flag warning.
  • git diff --check passed.

@renkun-ken
renkun-ken merged commit 207b6fe into master Jul 17, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant