Files
2nd/10_Wiki/Topics/Analyze runtime performance.md
T

4.7 KiB


id: P-Reinforce-C8C70C category: Dev confidence_score: 0.95 tags: [] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Mega Batch - Wikified 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, Frames Per Second (FPS), Forced Synchronous Layouts, Long Task, Interaction to Next Paint (INP)
  • Projects/Contexts: RAIL model, Chrome User Experience Report (CrUX)
  • Contradictions/Notes: DevTools의 CPU 스로틀링 기능은 데스크톱의 CPU 속도를 늦추어 시뮬레이션하는 방식이므로, 데스크톱과 모바일 기기의 근본적인 아키텍처 차이 때문에 실제 모바일 기기의 CPU 동작을 완벽하게 모방할 수는 없습니다 [17].

Last updated: 2026-04-19