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

Increase incremental parsing performance of cppmetrics #670

Open
mcserep opened this issue Nov 8, 2023 · 0 comments
Open

Increase incremental parsing performance of cppmetrics #670

mcserep opened this issue Nov 8, 2023 · 0 comments
Labels
Kind: Refactor 🔃 Level: Moderate (2) Plugin: C++ Issues related to the parsing and presentation of C++ projects. Plugin: Metrics Issues related to the code metrics plugin.

Comments

@mcserep
Copy link
Collaborator

mcserep commented Nov 8, 2023

Currently the CppAstNodeMetrics table is cleaned up during incremental parsing by iterating through all stored entities, querying the related CppAstNode, then the appropriate file. After that, CppAstNodeMetrics entities related to a deleted or modified file are erased.

I propose a likely more memory and time efficient approach: since the CppFileMetrics table is also maintained through the same logic (looking for entities related to a modified or deleted file), we could erase the related CppAstNodeMetrics entities in the same loop. (Probably a new ODB view is required to connect the CppAstNodeMetrics table to the files.)

@mcserep mcserep added Kind: Refactor 🔃 Plugin: C++ Issues related to the parsing and presentation of C++ projects. Plugin: Metrics Issues related to the code metrics plugin. Level: Moderate (2) labels Nov 8, 2023
@mcserep mcserep added this to the Upcoming Release milestone Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Kind: Refactor 🔃 Level: Moderate (2) Plugin: C++ Issues related to the parsing and presentation of C++ projects. Plugin: Metrics Issues related to the code metrics plugin.
Projects
Status: To do
Status: To do
Development

No branches or pull requests

1 participant