Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: move lsp db lock. #1550

Merged
merged 1 commit into from
Aug 8, 2024
Merged

feat: move lsp db lock. #1550

merged 1 commit into from
Aug 8, 2024

Conversation

He1pa
Copy link
Contributor

@He1pa He1pa commented Aug 8, 2024

  1. Lock and update lsp db after compile. Support asynchronous concurrent compile
  2. 2 node_ty_map only share in current thread, not in cross-threaded compile cache

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

2. What is the scope of this PR (e.g. component or file name):

resolver
lsp

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

  • N
  • Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

  • Unit test
  • Integration test
  • Benchmark (add benchmark stats below)
  • Manual test (add detailed scripts or steps below)
  • Other

…ode_ty_map only share in current thread, not in multi-threaded compile cache

Signed-off-by: he1pa <[email protected]>
@coveralls
Copy link
Collaborator

coveralls commented Aug 8, 2024

Pull Request Test Coverage Report for Build 10296569541

Details

  • 21 of 24 (87.5%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.006%) to 70.51%

Changes Missing Coverage Covered Lines Changed/Added Lines %
kclvm/tools/src/LSP/src/util.rs 3 4 75.0%
kclvm/tools/src/LSP/src/request.rs 2 4 50.0%
Totals Coverage Status
Change from base Build 10252244848: 0.006%
Covered Lines: 50375
Relevant Lines: 71444

💛 - Coveralls

@Peefy
Copy link
Contributor

Peefy commented Aug 8, 2024

I think CachedScope is a good modification 👍, but it can be further improved.

ProgramScope and CachedScope should actually be the same thing, and the input parameters and return values of the resolver can both be 'CachedScope'. Besides, The CacheScope::new function has not been used and can be deleted.

cc @He1pa

@Peefy Peefy merged commit 1b9e785 into kcl-lang:main Aug 8, 2024
12 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.

3 participants