agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
132 lines (129 loc) • 4.45 kB
JavaScript
/**
* @file Performance pattern definitions for optimization opportunity detection
* @description Single responsibility: Define performance patterns with quantified impact metrics
*
* This configuration module defines comprehensive performance patterns used by the performance
* analyzer to identify optimization opportunities across algorithmic complexity, I/O efficiency,
* memory usage, and framework-specific concerns. Each pattern includes quantified impact metrics
* and effort estimation to enable data-driven optimization prioritization.
*
* Design rationale:
* - Quantified impact metrics enable ROI-based optimization decisions
* - Category-based organization helps identify systematic performance issues
* - Effort estimation enables realistic sprint planning for optimization work
* - Real-world impact percentages based on production optimization experiences
* - Severity classification enables automated performance alerting systems
*/
// Performance Pattern Constants
/**
* Comprehensive performance pattern definitions with quantified optimization impact
*
* Pattern structure rationale:
* - effort: Development hours needed (1=quick win, 2=moderate, 3=complex refactor)
* - impact: Quantified performance improvement based on real-world optimization data
* - severity: Performance criticality (HIGH=user-facing impact, MEDIUM=efficiency gains)
* - category: Performance domain for specialized optimization focus
*
* Impact quantification methodology:
* - Based on production optimization case studies and benchmarking data
* - Accounts for typical application load patterns and user behavior
* - Conservative estimates to avoid overpromising optimization benefits
* - Includes both computational and user experience improvements
*
* Performance categories:
* - Algorithm: Big-O complexity improvements with mathematical impact
* - I/O: Blocking operation elimination and async optimization
* - CPU: Computational efficiency and processing optimization
* - Memory: Memory usage reduction and garbage collection optimization
* - Concurrency: Parallel processing and async pattern optimization
* - DOM: Frontend rendering and browser optimization
* - Framework: Technology-specific optimization patterns
*
* Severity assessment criteria:
* - HIGH: Direct user experience impact (page load, interaction latency)
* - MEDIUM: System efficiency improvements (resource utilization, throughput)
* - Category focus enables team specialization and knowledge building
*/
const PERFORMANCE_PATTERNS = {
'quadratic_time': {
effort: 3,
impact: '90%+ reduction from O(n²) to O(n)',
severity: 'HIGH',
category: 'Algorithm'
},
'sync_io': {
effort: 2,
impact: 'unblocks event loop, 30–60% perf gain under load',
severity: 'HIGH',
category: 'I/O'
},
'json_in_loop': {
effort: 2,
impact: '10–30% CPU gain per request',
severity: 'MEDIUM',
category: 'CPU'
},
'serial_await': {
effort: 1,
impact: '50–70% latency reduction for grouped ops',
severity: 'MEDIUM',
category: 'Concurrency'
},
'large_inline': {
effort: 1,
impact: 'up to 90% memory savings',
severity: 'MEDIUM',
category: 'Memory'
},
'unbounded_array': {
effort: 3,
impact: 'prevents memory bloat; unbounded growth fixed',
severity: 'HIGH',
category: 'Memory'
},
'inefficient_regex': {
effort: 2,
impact: '20–50% CPU reduction in string processing',
severity: 'MEDIUM',
category: 'CPU'
},
'memory_leak': {
effort: 3,
impact: 'prevents OOM crashes and memory growth',
severity: 'HIGH',
category: 'Memory'
},
'string_concat_loop': {
effort: 1,
impact: '20-40% performance gain for string operations',
severity: 'MEDIUM',
category: 'CPU'
},
'repeated_dom_query': {
effort: 1,
impact: '30-60% DOM performance improvement',
severity: 'MEDIUM',
category: 'DOM'
},
'react_render_issue': {
effort: 2,
impact: '40-70% reduction in unnecessary renders',
severity: 'HIGH',
category: 'Framework'
},
'promise_in_loop': {
effort: 2,
impact: '30-50% memory and performance improvement',
severity: 'HIGH',
category: 'Async'
},
'waterfall_fetch': {
effort: 2,
impact: '50-80% reduction in loading time',
severity: 'HIGH',
category: 'Network'
}
};
module.exports = {
PERFORMANCE_PATTERNS
};