Draft
Conversation
- Implemented O(1) Map lookup for exact matches in TaskItem icons and colors. - Replaced inefficient O(N*L) loop for partial matches with a single-pass regex search. - Pre-computed static regexes and priority maps to ensure high efficiency and preserve original behavior. - Added regex escaping for safe handling of all task labels and types. - Measured a ~32% performance improvement for combined lookup operations.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
💡 What: Optimized the icon and color lookup logic in
src/tasksProvider.tsby introducing O(1) Map lookups for exact matches and a single-pass regex for partial (substring) matches.🎯 Why: The original implementation used a for-of loop over a Map's entries and called
.includes()for every entry on every lookup. This was O(N*L) where N is the number of icon/color definitions and L is the length of the label. With the new approach, exact matches are O(1) and partial matches are significantly faster.📊 Measured Improvement:
The optimization preserves the "first match in configuration wins" priority behavior exactly and handles regex escaping for safety.
PR created automatically by Jules for task 17427130584735089953 started by @Batyan45