Files
2nd/01_Archive/2026-04-20/Analyze runtime performance.md

52 lines
4.8 KiB
Markdown

---
id: P-REINFORCE-C8C70C
category: "10_Wiki/💡 Topics/Web & Performance"
confidence_score: 0.95
tags: []
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Mega Batch - Wikified Analyze runtime performance"
---
# [[Analyze runtime performance|Analyze runtime performance]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> 런타임 성능(Runtime performance) 분석은 페이지가 로드되는 시점이 아니라, 페이지가 실제로 실행되는 동안 어떻게 작동하는지 측정하고 평가하는 과정입니다 [1]. 개발자는 주로 Chrome DevTools의 성능(Performance) 패널을 활용하여 페이지와 상호 작용하는 동안의 활동을 기록합니다 [1, 2]. 이를 통해 애니메이션 프레임 속도(FPS), CPU 과부하, 메인 스레드 병목 현상 등을 식별하여 전반적인 사용자 경험을 최적화할 수 있습니다 [3, 4].
## 📖 구조화된 지식 (Synthesized Content)
* **측정 및 시뮬레이션 환경 설정:**
* 런타임 성능은 Chrome DevTools의 성능(Performance) 패널에서 기록(Record) 버튼을 눌러 캡처할 수 있습니다 [2, 5].
* 데스크톱이나 랩톱에 비해 컴퓨팅 성능이 떨어지는 모바일 기기에서의 실행 환경을 모방하기 위해, 캡처 설정(Capture settings)에서 'CPU Throttling(CPU 스로틀링)'을 사용하여 CPU 속도를 4배(4x) 또는 20배(20x) 느리게 시뮬레이션할 수 있습니다 [6, 7].
* 네트워크 조건 역시 스로틀링을 통해 느린 모바일 연결 상태로 테스트할 수 있습니다 [7].
* **FPS 및 CPU 활동 분석:**
* 애니메이션 성능을 측정하는 주요 지표는 초당 프레임 수(FPS)이며, 60 FPS 달성을 목표로 합니다 [3]. FPS 차트 위에 빨간색 막대가 나타나면 사용자 경험을 해칠 만큼 프레임 속도가 떨어졌음을 의미합니다 [3].
* CPU 차트가 여러 색상으로 꽉 차 있는 것은 녹화 시간 동안 CPU가 최대 용량으로 작업했음을 나타내며, 이는 성능 개선을 위해 수행하는 작업을 줄여야 한다는 신호입니다 [3].
* **메인 스레드 플레임 차트(Flame Chart) 해석:**
* 메인(Main) 섹션은 메인 스레드에서 시간에 따라 발생한 활동을 플레임 차트 형태로 시각화합니다. x축은 시간을, y축은 호출 스택(Call stack)을 나타내며, 상단에 위치한 이벤트가 하단의 이벤트를 호출한 원인입니다 [4, 8].
* 50 밀리초(ms)를 초과하는 긴 작업(Long Task)에는 빨간색 삼각형 경고가 표시되며, 초과된 시간 부분은 빨간색으로 음영 처리되어 성능 저하를 일으키는 항목을 쉽게 파악할 수 있습니다 [4, 9].
* **병목 현상(Bottleneck) 식별:**
* 하단의 요약(Summary) 탭은 선택된 구간의 활동 분류(렌더링, 스크립팅 등)를 보여주며, 가장 많은 시간을 소비한 작업 영역을 찾도록 돕습니다 [4, 10].
* 예를 들어, 애니메이션 프레임 이벤트 내부에서 요소의 스타일을 변경한 후 즉시 위치를 쿼리할 경우 브라우저가 강제로 레이아웃을 다시 계산해야 하는 '강제 동기식 레이아웃(Forced synchronous layouts)'과 같은 문제를 식별할 수 있습니다 [4].
* 특정 활동이나 이벤트를 클릭하면 연결된 소스 코드의 해당 줄로 직접 이동할 수 있어 디버깅에 유리합니다 [4, 11].
* **상세 탭을 통한 활동 분석:**
* **Call tree 탭:** 가장 많은 작업을 유발한 루트 활동(root activities)을 확인할 수 있습니다 [12, 13].
* **Bottom-up 탭:** 직접적으로 가장 많은 시간이 소요된 특정 활동들을 집계하여 보여줍니다 [12, 14, 15].
* **Event log 탭:** 기록되는 동안 활동이 발생한 순서대로 정렬하여 분석할 수 있습니다 [12, 16].
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 지식 자산화 및 기존 네트워크 연동 단계.
- **정책 변화:** Web & Performance 카테고리의 전문성 확보 및 링크 밀도 최적화.
## 🔗 지식 연결 (Graph)
- **Related Topics:** [[Chrome DevTools|Chrome DevTools]], Frames Per Second (FPS), Forced Synchronous Layouts, Long Task, [[Interaction to Next Paint (INP)|Interaction to Next Paint (INP)]]
- **Projects/Contexts:** RAIL model, [[Chrome User Experience Report (CrUX)|Chrome User Experience Report (CrUX)]]
- **Contradictions/Notes:** DevTools의 CPU 스로틀링 기능은 데스크톱의 CPU 속도를 늦추어 시뮬레이션하는 방식이므로, 데스크톱과 모바일 기기의 근본적인 아키텍처 차이 때문에 실제 모바일 기기의 CPU 동작을 완벽하게 모방할 수는 없습니다 [17].
---
*Last updated: 2026-04-19*
- Raw Source: 00_Raw/2026-04-20/Analyze runtime performance.md
---