Identify and eliminate computationally expensive operations through early termination, better data structures, and algorithmic optimizations. Look for opportunities to short-circuit loops, cache results, and choose more efficient algorithms.
Identify and eliminate computationally expensive operations through early termination, better data structures, and algorithmic optimizations. Look for opportunities to short-circuit loops, cache results, and choose more efficient algorithms.
Key strategies:
Example of early termination:
// Before: continues checking even after condition is met
for (const item of items) {
if (checkCondition(item)) {
hasCondition = true;
}
// continues processing...
}
// After: stops as soon as condition is found
for (const item of items) {
if (checkCondition(item)) {
hasCondition = true;
break; // early termination
}
}
Example of better data structure choice:
// Before: O(n²) complexity with array includes
const needsVersionIncrease = !s.reactions?.every(r => version.reactions?.includes(r));
// After: O(n) complexity with Set
const vReactions = version.reactions === null ? null : new Set(version.reactions);
const needsVersionIncrease = vReactions === null || !s.reactions?.every(r => vReactions.has(r));
Enter the URL of a public GitHub repository