Assess optimization necessity

Evaluate whether performance optimizations are actually needed based on your specific context, data size, and operation cost. Avoid implementing optimizations that add complexity without meaningful benefit.

copy reviewer prompt

Prompt

Reviewer Prompt

Evaluate whether performance optimizations are actually needed based on your specific context, data size, and operation cost. Avoid implementing optimizations that add complexity without meaningful benefit.

For small datasets (< 100 items), techniques like debouncing may be unnecessary unless they prevent expensive operations such as API calls, URL parameter updates, or complex computations. Consider the trade-off between code complexity and actual performance gains.

Example of contextual evaluation:

// Question: Do we need debouncing for 30 items?
const DebouncedSearchInput = ({ onSearch }) => {
  // If onSearch only filters local data: debouncing may be overkill
  // If onSearch triggers URL updates or API calls: debouncing is valuable
  
  useEffect(() => {
    const timer = setTimeout(() => {
      onSearch(searchTerm); // Expensive operation?
    }, 350);
    return () => clearTimeout(timer);
  }, [searchTerm]);
};

Before adding performance optimizations, ask: What specific problem am I solving? Is the current performance actually problematic? Will this optimization provide measurable benefit given my data size and use case?

Source discussions