Class: Aidp::Watch::Reviewers::PerformanceReviewer

Inherits:
BaseReviewer
  • Object
show all
Defined in:
lib/aidp/watch/reviewers/performance_reviewer.rb

Overview

Performance Reviewer - focuses on performance issues and optimizations

Constant Summary collapse

PERSONA_NAME =
"Performance Analyst"
FOCUS_AREAS =
[
  "Algorithm complexity (O(n) vs O(n²), etc.)",
  "Database query optimization (N+1 queries, missing indexes)",
  "Memory allocation and garbage collection pressure",
  "Blocking I/O operations",
  "Inefficient data structures",
  "Unnecessary computations or redundant work",
  "Caching opportunities",
  "Resource leaks (connections, file handles, etc.)",
  "Concurrent access patterns",
  "Network round-trips and latency"
].freeze

Instance Attribute Summary

Attributes inherited from BaseReviewer

#focus_areas, #persona_name, #provider_name

Instance Method Summary collapse

Methods inherited from BaseReviewer

#initialize

Constructor Details

This class inherits a constructor from Aidp::Watch::Reviewers::BaseReviewer

Instance Method Details

#review(pr_data:, files:, diff:) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/aidp/watch/reviewers/performance_reviewer.rb', line 24

def review(pr_data:, files:, diff:)
  user_prompt = build_performance_prompt(pr_data: pr_data, files: files, diff: diff)
  findings = analyze_with_provider(user_prompt)

  {
    persona: PERSONA_NAME,
    findings: findings
  }
end