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

perf: Parser performance optimization #1732

Merged
merged 1 commit into from
Nov 4, 2024
Merged

Conversation

He1pa
Copy link
Contributor

@He1pa He1pa commented Nov 4, 2024

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

  • N
  • Y

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

kclvm/parser

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

  1. Call path.canonicalize() when initializing PkgFile
  2. Record the parsed files in the global to avoid repeated parsing
  • 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

@He1pa He1pa added parser Issues or PRs related to kcl parser perf labels Nov 4, 2024
Copy link
Contributor

@Peefy Peefy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Job! LGTM!

@Peefy Peefy merged commit 35b56d8 into kcl-lang:main Nov 4, 2024
12 of 13 checks passed
@coveralls
Copy link
Collaborator

Pull Request Test Coverage Report for Build 11657734611

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 71 of 74 (95.95%) changed or added relevant lines in 3 files are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage decreased (-0.003%) to 70.584%

Changes Missing Coverage Covered Lines Changed/Added Lines %
kclvm/parser/src/lib.rs 60 63 95.24%
Files with Coverage Reduction New Missed Lines %
kclvm/parser/src/lib.rs 1 95.82%
Totals Coverage Status
Change from base Build 11628301442: -0.003%
Covered Lines: 51998
Relevant Lines: 73668

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
parser Issues or PRs related to kcl parser perf
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants