-
-
Notifications
You must be signed in to change notification settings - Fork 46
Cache globbed files for speed increase #296
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
Conversation
|
A similar goal but with different implementation as #294 |
|
Also, the CI is failing due to Python 3.8 not being available to the "Set up Python" step. How much of this compatibility are you planing on maintaining? |
lyz-code
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @fferegrino for the detailed PR.
We can safely drop 3.8 as it's deprecated for a while, we will be able to drop 3.9 soon too.
Can you please tweak the CI to include this change?
Sure, let me have a look. |
|
I've opened #299, hopefully this will get the tests rolling again. |
9b10537 to
15e88a9
Compare
6881812 to
c23dadc
Compare
It seems that the runners are slower
c5f42b4 to
12d7822
Compare
|
Ok @lyz-code, this one seems good to be reviewed. |
Pull Request Test Coverage Report for Build 17473869987Details
💛 - Coveralls |
|
Thank you so much for contributing this feature and to clean up technical debt <3 |
|
Available since |
This PR introduces a glob caching mechanism to improve the performance of file discovery in the CLI, particularly for large directories and repeated glob operations. It also adds comprehensive tests to ensure correct cache behavior and performance gains.
tests/unit/test_cli_cache.pyto verify correct cache key construction, separation of entries, cache clearing, and correct results for bothglobandrgloboperations.tests/e2e/test_cli.pyto measure and assert performance improvements from caching, including a slow test to compare cached vs. uncached runs for exclude patterns.Checklist