문제
Instruments SwiftUI 템플릿 측정 중 Main Thread Microhang이 관측된다.
관측된 증상
- Run 1에서 Main Thread Microhang 260.98ms 확인
- Run 3에서 Main Thread 구간 124.30ms 확인
- Time Profiler에서 main queue 수신 이후 Combine, DevLogPresentation, ObservationRegistrar.withMutation/willSet, SwiftUI invalidation 흐름 확인
- 같은 시간대에 SwiftUI Long View Body Updates가 함께 관측됨
아직 확정되지 않은 부분
- 특정 Feature/View 함수명은 Instruments에서 심볼화되지 않음
- Combine 자체가 병목인지, Combine 수신 이후 상태 변경 또는 SwiftUI invalidation 비용이 병목인지는 미확정
- Today 화면의 파생 데이터 계산 비용과 직접 연결되는지는 추가 계측 필요
작업 방향
- Microhang이 발생하는 재현 흐름을 명확히 정리
- 상태 변경 이후 SwiftUI invalidation이 발생하는 경로 확인
- TodayFeature.State.sections, summaryCounts, displayedTodos, groupedSectionItems 등 파생 데이터 계산 구간 계측
- Instruments에서 signpost duration 측정
- 개선 전후 Main Thread hang duration 및 SwiftUI long update duration 비교
완료 기준
- Main Thread Microhang의 주요 원인 구간 식별
- 개선 전후 수치 확보
- 이력서 또는 포트폴리오에 사용할 수 있는 실측 지표 정리
문제
Instruments SwiftUI 템플릿 측정 중 Main Thread Microhang이 관측된다.
관측된 증상
아직 확정되지 않은 부분
작업 방향
완료 기준