30 lines
2.4 KiB
Markdown
30 lines
2.4 KiB
Markdown
---
|
|
id: DEV-PROF-OPT-001
|
|
category: "10_Wiki/💡 Topics/AI"
|
|
confidence_score: 1.0
|
|
tags: [software-engineering, performance, profiling, optimization, bottleneck, benchmarking, code-quality]
|
|
last_reinforced: 2026-04-26
|
|
---
|
|
|
|
# Profiling and Optimization (프로파일링과 최적화)
|
|
|
|
## 📌 한 줄 통찰 (The Karpathy Summary)
|
|
> "짐작으로 코드를 고치지 말고 데이터로 병목을 증명하며, 시스템의 가장 아픈 곳(Critical Path)부터 정밀하게 수술하라" — 프로그램의 실행 자원(시간, 메모리) 사용량을 측정하여 성능 저하의 원인을 식별하고, 효율적인 알고리즘이나 구조로 개선하는 일련의 과정.
|
|
|
|
## 📖 구조화된 지식 (Synthesized Content)
|
|
- **추출된 패턴:** "Measure, Analyze, and Refine" — 실제 실행 환경에서 성능 데이터를 수집(Profiling)하고, 80/20 법칙에 따라 가장 큰 부하를 주는 20%의 지점을 찾아내어, 적절한 데이터 구조나 병렬 처리 등을 통해 성능을 끌어올리는(Optimization) 패턴.
|
|
- **주요 기법:**
|
|
- **CPU Profiling:** 함수별 실행 시간 및 호출 횟수 분석 (Call Graph).
|
|
- **Memory Profiling:** 메모리 누수(Leak) 및 할당 패턴 감지.
|
|
- **Algorithmic Optimization:** 시간 복잡도($O(n)$) 개선.
|
|
- **Caching:** 동일 연산 반복 방지를 위한 메모이제이션(Memoization).
|
|
- **의의:** 사용자 경험(응답성)을 획기적으로 개선하고, 클라우드 컴퓨팅 비용을 절감하며, 한정된 하드웨어 자원에서 최대의 지능형 서비스를 제공하게 함.
|
|
|
|
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
|
- **과거 데이터와의 충돌:** 코드 한 줄을 더 짧게 쓰는 미시적 최적화보다, 전체 시스템의 아키텍처나 데이터 흐름을 최적화하는 거시적 최적화의 영향력이 훨씬 크다는 사실이 현대 대규모 시스템 설계의 상식이 됨.
|
|
- **정책 변화:** Antigravity 프로젝트는 에이전트의 응답 속도 지연 발생 시, 내부 프로파일링 도구를 가동하여 프롬프트 토큰 처리 시간과 도구 실행 시간 중 어디에서 병목이 발생하는지 즉각 진단함.
|
|
|
|
## 🔗 지식 연결 (Graph)
|
|
- Chrome-DevTools-Memory-Profiling, [[Parallel-Computing-in-AI|Parallel-Computing-in-AI]], Algorithm-Complexity-Analysis, [[Network-Latency-Optimization|Network-Latency-Optimization]]
|
|
- **Raw Source:** 10_Wiki/Topics/AI/Profiling-and-Optimization.md
|