UNPKG

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
/** * @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, 3060% perf gain under load', severity: 'HIGH', category: 'I/O' }, 'json_in_loop': { effort: 2, impact: '1030% CPU gain per request', severity: 'MEDIUM', category: 'CPU' }, 'serial_await': { effort: 1, impact: '5070% 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: '2050% 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 };