-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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: cached fs utils with shared trees #15294
Conversation
Run & review this pull request in StackBlitz Codeflow. |
Given that we now use the workspace root, for most users what should happen is that servers started on the same monorepo will all share the same root, so The PR also supports starting a server in a root that is a child of active config roots (in that case it is a matter of expanding one of the parent roots until it). This only happens if an active root was a parent out of the monorepo. If it isn't a child of any active config root, then we create a new direntCache (and expand it to connect it to any active config root that is a child of it). |
/ecosystem-ci run |
This comment was marked as outdated.
This comment was marked as outdated.
/ecosystem-ci run |
This comment was marked as outdated.
This comment was marked as outdated.
/ecosystem-ci run |
This comment was marked as outdated.
This comment was marked as outdated.
/ecosystem-ci run |
This comment was marked as outdated.
This comment was marked as outdated.
/ecosystem-ci run |
📝 Ran ecosystem CI on
|
astro, marko, and vitepress are failing with this PR. Even with its simplest form of only sharing the cache if the root is exactly the same for a config (that it would still be good given that we now use the workspace root for each config). |
Description
Follow up to:
Implements an idea we discussed with @sheremet-va, sharing the DirentCache trees between FsUtils of different servers. In Vitest workspace mode this should avoid duplicating the trees of overlapping roots.
Pushing it as a draft for now. We should first merge #15279.
What is the purpose of this pull request?