Files
AX-Copilot-Codex/dist/AxCopilot/skills/perf-audit.skill.md

2.7 KiB

name, label, description, icon, allowed-tools, tabs
name label description icon allowed-tools tabs
perf-audit 성능 감사 코드 복잡도, 성능 병목, 메모리 이슈를 분석하고 최적화 방안을 제시합니다. \uE9D9
file_read
grep
folder_map
search_codebase
glob
html_create
code

코드베이스의 성능 관련 이슈를 분석하고 최적화 보고서를 생성하세요.

워크플로우

  1. 프로젝트 분석: folder_map으로 구조 파악, 언어/프레임워크 식별
  2. 복잡도 분석: 파일별 줄 수, 메서드 크기, 중첩 깊이 측정
  3. 성능 안티패턴 탐지: grep으로 알려진 성능 이슈 패턴 검색
  4. 메모리 이슈 탐지: 리소스 해제 누락, 대용량 할당 패턴
  5. 보고서 생성: html_create로 성능 감사 보고서

분석 항목

코드 복잡도 지표

  • 파일 크기: 500줄 이상 파일 식별
  • 메서드 크기: 50줄 이상 메서드 식별
  • 중첩 깊이: 4단계 이상 들여쓰기
  • 매개변수 수: 5개 이상 파라미터 메서드

성능 안티패턴

데이터베이스

  • N+1 쿼리 패턴 (루프 내 DB 호출)
  • SELECT * 사용 (불필요한 컬럼 로드)
  • 인덱스 미사용 쿼리 힌트

메모리

  • IDisposable 미해제 (using 미사용)
  • 대용량 문자열 결합 (StringBuilder 미사용)
  • 정적 컬렉션 무한 증가
  • 이벤트 핸들러 미해제 (메모리 누수)

I/O

  • 동기 파일 I/O (async 미사용)
  • 동기 네트워크 호출
  • 불필요한 직렬화/역직렬화

알고리즘

  • O(n²) 이상 루프 (중첩 foreach/for)
  • 반복 계산 (캐싱 미적용)
  • LINQ 체인의 불필요한 ToList()

프론트엔드

  • 불필요한 리렌더링 패턴
  • 대용량 번들 임포트
  • 이미지 최적화 미적용

.NET 전용 패턴

탐지 대상:
- Task.Result / .Wait() (데드락 위험)
- lock 내부 async 호출
- GC.Collect() 직접 호출
- Reflection 반복 사용
- string + string 반복 (루프 내)

출력 형식

성능 감사 보고서

요약 대시보드

지표 상태
총 파일 수 ...
대형 파일 (500줄+) ...
대형 메서드 (50줄+) ...
성능 안티패턴 ... 🔴
메모리 이슈 ... 🟡

상세 이슈 목록

우선순위 파일 라인 이슈 영향 권장 조치
🔴 높음 ... ... N+1 쿼리 응답 지연 일괄 로드

규칙

  • 코드를 수정하지 않음 (분석 + 보고서만)
  • 성능 이슈는 영향도와 수정 난이도를 함께 평가
  • 추측보다 패턴 기반 탐지 우선
  • 한국어로 작성