-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
Problem Description
Currently, the concurrency settings for codebase indexing are hardcoded as constants within the extension's source code. This includes values like PARSING_CONCURRENCY, MAX_PENDING_BATCHES, and BATCH_PROCESSING_CONCURRENCY located in src/services/code-index/constants/index.ts.
This fixed configuration prevents users from optimizing the indexing process for their specific hardware. Users with powerful machines are limited by these conservative defaults, while the current settings might be too aggressive for users on lower-end hardware.
Proposed Solution
Introduce a new section in the RooCode VS Code extension settings UI that allows users to configure the codebase indexing concurrency settings.
This new section should provide options to modify:
- Parsing Concurrency: The number of files to parse in parallel.
- Max Pending Batches: The maximum number of batches to accumulate before waiting.
- Batch Processing Concurrency: The number of batches to process for embeddings/upserts in parallel.
The settings should have sensible defaults but be adjustable by the user.
Impact
- Improved Performance: Power users can increase concurrency settings to significantly speed up codebase indexing by fully utilizing their machine's capabilities.
- Greater Flexibility: All users can fine-tune the indexing process to match their hardware and preferences, leading to a better user experience.
- Enhanced User Control: Moves important performance-tuning options from hardcoded constants to an accessible user interface.
Technical Context
The relevant constants are defined in src/services/code-index/constants/index.ts and consumed in src/services/code-index/processors/scanner.ts. The implementation would involve creating a configuration schema and reading these values from the VS Code settings.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status