feat: add configurable file watcher performance settings for multi-worktree optimization #10493
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to address Issue #8131, specifically the question about CPU optimization for multi-worktree use cases.
Summary
Adds two new configurable settings for file watcher performance optimization:
These settings help reduce CPU usage when running multiple worktrees simultaneously by allowing users to:
Changes
constants/index.tsCodeIndexConfigManagerto load and expose the new settingsFileWatcherto use configurable debounce and concurrency valuesservice-factoryto pass settings from config manager to file watcherTesting
config-manager.spec.tsandfile-watcher.spec.tsRelated Issue
Addresses #8131 - Per-workspace control for Codebase Indexing (reduce GPU)
Feedback and guidance are welcome!