Repository navigation
Performance Reports
SeHyun edited this page Sep 29, 2026
·
1 revision
저장소 docs/performance/reports/의 보고서 78편을 날짜별로 모았다. 최신이 위에 온다. 제목을 누르면 원본 보고서로 간다.
상태 ✅ 측정 · 🟡 부분 측정 · ⚪ 미측정(번들 크기만 재거나 잴 경로가 없음)
열
-
번들 —
main.lynx.bundle크기. 괄호는 직전 기준보다 늘어난 양(kB) -
메모리 — 메인 스레드 메모리(
mainThreadRuntimeBytes). 잰 시점이 보고서마다 다르다 -
첫 렌더 — 앱 첫 화면을 그리는 시간(
pipeline). 12.6 ms 안쪽 차이는 해석하지 않는다(주요 발견 1) -
—— 그 보고서에 값이 없다
미측정 기록은 기준선이 아니고, 성능 통과를 뜻하지도 않는다.
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| PostHog 분석 전송 (#152) | ⚪ | 1,198.3 kB (+70.0) | — | — | 번들 +69,961 B로 새 상한 안, 렌더·메모리는 미측정 |
| Supabase 전화번호 로그인 | ⚪ | 1,143.8 kB (+15.5) | — | — | 번들 +15,470 B로 상한 안, 렌더·메모리는 미측정 |
| Supabase 소셜 로그인 (#150) | ⚪ | 1,158.1 kB (+13.9) | — | — | 번들 +13,933 B로 상한 안, 렌더·메모리는 미측정 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 통화 최종 테스트 | ✅ | 1,097.3 kB (+11.4) | 1.78 MB | — | 맵 첫 착지 기준 범위와 같고 번들 +11,410B로 상한 안 |
| 에피소드 최종 테스트 | ✅ | 1,085.9 kB (+30.7) | 1.76 MB | — | 맵 첫 착지 2/3회 main 범위, 노드 +13·번들 +30,730B |
| 에피소드 서사 표지 — 첫 유닛 진입 | ✅ | 905.8 kB | 1.50 MB | — | 맵 pipeline은 기준 범위, 표지 구간은 수집 수단 없어 미측정 |
| 에피소드 서사 통화 — 표지 · 통화 · 학습 완료 | ✅ | 962.9 kB | 1.56 MB | — | 흐름은 끝까지 갔고 노드 수 동일, 통화 구간 비용은 미측정 |
| 에피소드 서사 통화 — 표지 · 통화 · 학습 완료 | ✅ | 962.9 kB | 1.56 MB | — | 재측정 26.0~36.7ms로 표지 기록과 같은 범위, 01의 높은 값은 환경 탓 |
| 에피소드 서사 형식(통화 · 메신저 · 비주얼 노벨) | ✅ | 1,019.0 kB (+13.8) | 1.63 MB | — | 흐름 완주, 맵 첫 착지는 기준 범위, 번들 +13,768B 상한 안 |
| 손글씨 따라 쓰기 견주기 모듈 — 제품 경로 무변화 | ✅ | 1,025.4 kB (+2.9) | — | — | OCR 없는 견주기 축 성립, 번들 +2,852B로 예산 안 |
| 여정 맵 유닛 탭 — 자리 재기 · 가운데 스크롤 · 말풍선 | ✅ | 816.8 kB | 1.41 MB | — | 맵 pipeline 36.8~40.1ms로 기준과 같은 크기, 탭 뒤 비용 미측정 |
| 무대 카드를 깎고 나가기 확인을 더한 뒤 학습 화면 진입 | ✅ | — | — | — | 세션 헤더 축소로 노드 4개·4,160B 감소, 나가기 모달은 미측정 |
| 학습 화면에 계측점을 놓고 처음으로 재다 | ✅ | — | — | — | 학습 화면 진입 첫 기준선 18.9~41.4ms·77노드 확보 |
| 학습 껍데기 · 듣기 자동 넘김을 붙인 뒤 여정 맵 진입 | 🟡 | — | — | — | 학습 화면은 계측점이 없어 미측정, 여정 맵만 25~42ms 관측 |
| 알림 화면 디자인 반영 — 목록 · 밀어서 삭제 · 빈 상태 | ✅ | 826.6 kB | 1.42 MB | — | 여정 맵 27.6~30.4ms 관측, 알림 화면 구간은 수집 못 함 |
| 롤플레이 화면 에피소드 구획 — 탭 전환 · 카드 줄 넘기기 | ✅ | 829.2 kB | 1.39 MB | — | 탭 전환 14.1~14.4 ms, 노드가 옛 화면보다 19 늘었다 |
| 롤플레이 화면 플러스 줄 — 탭 전환 · 카드 줄 넘기기 | ✅ | 928.8 kB | 1.52 MB | — | 플러스 줄로 노드 +49, 탭 전환 pipeline 5.6~7.4 ms 높다 |
| 낱말 고르기 화면 디자인 — 활동 둘을 잇는 스텝 | ✅ | 922.9 kB | 1.52 MB | — | 낱말 고르기가 디자인대로 서고 듣기보다 가볍다(순위만) |
| 전역 머리 · 젬 구매 화면 | ⚪ | 1,055.1 kB (+32.6) | — | — | 번들 +32.6kB로 올린 상한 안, 렌더·메모리는 미측정 |
| 에피소드 서사(비주얼 노벨) 화면 | ⚪ | 1,004.7 kB (+41.8) | — | — | 번들 +41,761B로 상한 조정, 렌더·메모리는 미측정 |
| 젬 결제 준비 중 안내 | ⚪ | 1,128.4 kB (+764 B) | — | — | 번들 +764B, 렌더·메모리는 미측정이라 성능 판정 아님 |
| 상단 바 칩 · 알림 버튼 흰 면 | ⚪ | 1,116.1 kB (+582 B) | — | — | 번들 +582B, 렌더·메모리는 미측정이라 성능 판정 아님 |
| 여정 맵 지표 모달(연속 학습 · 트로피) | ⚪ | 836.6 kB (+21.5) | — | — | 번들 +21,534B로 상한 조정, 렌더·메모리는 미측정 |
| 학습 완료 화면 | ⚪ | 852.8 kB (+16.2) | — | — | 번들 +16,235B·상한 안, 렌더링·메모리는 미측정 |
| 메신저 타이핑 테스트 | ⚪ | 1,079.4 kB (+24.3) | — | — | 번들 +24,277B·상한 안, 렌더링·메모리는 미측정 |
| 온보딩 셋째 스텝 학습 유닛 카드 | ⚪ | 849.4 kB (−1.1) | — | — | 번들 −1,057B, 렌더링·메모리는 미측정 |
| 문장 만들기(LearningShell) | ⚪ | 1,006.6 kB (−7.0) | — | — | 번들 −7,030 B, 렌더·메모리는 미측정 |
| 설정 화면(ui-lynx 설정 셀) | ⚪ | 1,008.5 kB (+3.3) | — | — | 번들 +3,270 B로 상한 안, 렌더·메모리는 미측정 |
| 말하기 화면 | ⚪ | 1,022.6 kB (+15.9) | — | — | 번들 +15,927 B로 상한 안, 렌더·메모리는 미측정 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 여정 맵 상단 바 · 에피소드 헤더를 붙인 뒤 탭 전환 | ✅ | — | — | — | 맵 전환 39.7~44.2ms, 이전 값과 같은 축이 아니라 증감 판단 안 함 |
| 스텝 하나에 활동 여럿을 잇는 구조로 바꾼 뒤 탭 전환 | ✅ | — | — | — | 맵 전환은 흔들림 폭 안, 바뀐 활동 이어짐 경로는 미측정 |
| 특별 유닛 셋을 ui-lynx LearningUnit narrative로 옮긴 뒤 탭 전환 | ✅ | — | — | — | 특별 유닛 전환 뒤에도 여정 전환 비용 제자리, 흔들림 폭 측정 시급 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 바텀 네비게이션을 ui-lynx로 옮긴 뒤 탭 전환 | ✅ | — | 1.30 MB | 70 ms | ui-lynx 이전 뒤 수집 정상, 절대 배치는 전환 비용 불변 |
| 여정 맵 스텝 표식을 ui-lynx LearningUnit으로 옮긴 뒤 탭 전환 | ✅ | — | — | — | 표식을 ui-lynx로 옮겨도 여정 전환 비용은 제자리 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 주석 정리·파일 분리(lib·app) 후 앱 초기 로드 | ✅ | 776.7 kB (+2.6) | 1.28 MB | 91 ms | 수치는 기준과 같은 수준, 번들 +2.6kB, 판정 안 함 |
| 진입 흐름 화면 주석 정리·OnboardingScreen 분리 후 앱 초기 로드 | ✅ | — | 1.27 MB | 77 ms | 분리 뒤 온보딩 첫 스텝 정상 렌더, 수치는 조건 달라 비교 안 함 |
| 여정·롤플레이 화면 주석 정리·journey-map.ts 분리 후 앱 초기 로드 | ✅ | 776.6 kB (+0 B) | 1.28 MB | 91 ms | 번들 그대로, 렌더 수치 PR③와 거의 같음, 판정 안 함 |
| 학습 화면 주석 정리·listening.ts 분리 후 앱 초기 로드 | ✅ | 776.6 kB (−100 B) | 1.28 MB | 97 ms | 번들 사실상 그대로, 렌더 수치 커졌으나 판정 안 함 |
| 설정·탐침 화면 주석 정리·SpeechProbeScreen 분리 후 앱 초기 로드 | ✅ | 776.6 kB (+2.5) | 1.28 MB | 76 ms | 렌더 1.6ms 작고 메모리 13KB 큼, 두 회차뿐이라 판정 안 함 |
| 여정 맵 특별 유닛 배정을 망라 검사로 바꾼 뒤 앱 초기 로드 | ✅ | — | 1.29 MB | 66 ms | 같은 시나리오 네 회차 흔들림 폭 안, 변화 방향 판정 안 함 |
| 같은 commit 5회차 반복 측정 — 초기 로드 흔들림 폭 | ✅ | — | 1.29 MB | 66~79 ms | 렌더 시간은 12.6 ms 폭으로 흔들리고 메모리는 전혀 안 흔들린다 |
| 재전송 시 코드 지우기 수정 후 앱 초기 로드 | ✅ | — | 1.27 MB | 67 ms | 수정 화면을 지나지 않아 영향 미측정, 흔들림 폭 10.7 ms를 남김 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 앱 아이콘 · WebP 디코더 등록 후 앱 초기 로드 | ✅ | — | 0.83 MB | 126 ms | 초기 로드 한 회차 수집, 성능 변화 방향은 판정하지 않음 |
| 진입 화면(로그인 · 코드 검증 · 언어 선택 · 여정 입장) 디자인 반영 후 앱 초기 로드 | ✅ | 774.1 kB (+149.2) | 1.28 MB | 95 ms | 초기 로드 1회 수집, 바뀐 진입 화면 비용은 기록에 없음 |
| 온보딩 디자인 반영 후 앱 초기 로드 | ✅ | 624.9 kB | 0.94 MB | 69 ms | 스플래시 초기 로드 1회 수집, 온보딩 자체 비용은 미측정 |
| 말하기 탐침 | ⚪ | — | — | — | 사용자 도달 시나리오가 없어 잴 구간이 없다(영향 없음이 아님) |
| 스플래시 로고 애니메이션 · 전체 화면 safe area 후 앱 초기 로드 | ✅ | — | 0.85 MB | 65 ms | 로고 WebP 디코딩이 Lynx 메모리 대부분으로 보이나 방향은 판정 안 함 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 손글씨 탐침 | ⚪ | — | — | — | 사용자 도달 경로가 없어 측정할 구간 자체가 없다 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 진입 흐름 여섯 화면 | ✅ | 490.1 kB (+71.3) | 0.78 MB | 148 ms | 첫 화면이 스플래시로 바뀜, 기존 화면 트리 불변, 상주 코드만 증가 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 설정 탭 진입 | ✅ | 418.8 kB (+32.2) | 0.76 MB | 135 ms | 초기 트리는 같고 늘어난 것은 상주 코드(+43,696 B runtime)다 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 알림 화면 진입 | ✅ | 386.6 kB | 0.71 MB | 135 ms | 첫 화면이 여정 맵으로 바뀌어 기준선 아님, 알림 push는 미캡처 |
| 롤플레이 목록 진입 | ✅ | 375.1 kB | 0.67 MB | 108 ms | 초기 load·탭 전환 1회 수집, 메신저 push는 캡처에 안 담김 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 서비스 표시명 변경 후 앱 초기 로드 | ✅ | — | 0.56 MB | 93 ms | Duru 표시명 적용 후 초기 load 1회 수집, 방향 판정 안 함 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 비주얼 노벨 번들 초기 로드 | ✅ | 364.3 kB | 0.65 MB | 128 ms | 초기 load 1회 확보, 비주얼 노벨 화면 성능·방향은 판정 불가 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 메신저 번들 앱 초기 로드 | ✅ | 313.9 kB (+24.5) | 0.59 MB | 112 ms | 번들 +24,543B, 실행 순서·cache 탓에 timing 방향 판정 불가 |
| 메신저 번들 앱 초기 로드 | ✅ | 313.9 kB (+24.5) | 0.59 MB | 100 ms | 회차 02도 실행 순서·cache 분리 못해 성능 방향 판정 불가 |
| 메신저 번들 앱 초기 로드 | ✅ | 313.9 kB (+24.5) | 0.59 MB | 76 ms | 세 회차 확보했으나 순서·cache 탓에 timing 방향 판정 불가 |
| 전화 유닛 번들 앱 초기 로드 | ✅ | 338.2 kB (+24.3) | 0.62 MB | 68 ms | 번들 +24,262B, 순서·cache 탓에 timing 개선·회귀 판정 불가 |
| 전화 유닛 번들 앱 초기 로드 | ✅ | 338.2 kB (+24.3) | 0.62 MB | 81 ms | 회차 02도 순서·cache 분리 못해 timing 판정 불가 |
| 전화 유닛 번들 앱 초기 로드 | ✅ | 338.2 kB (+24.3) | 0.62 MB | 45 ms | 초기 메모리 차이는 반복됐으나 timing 방향이 엇갈려 판정 불가 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 문항 종료 전이 발화 | ✅ | 289.0 kB (+777 B) | 0.56 MB | 91 ms | 발화 코드는 번들 +777B·런타임 +1,088, 요소 트리 불변 |
| 완료 안내 초기 로드 | ✅ | 289.4 kB | 0.56 MB | 91 ms | 초기 로드는 확보, 완료 안내 실행시간·가청성은 판정 불가 |
| 여정 유닛이 코드에 선다 | ✅ | 289.2 kB (+174 B) | 0.56 MB | 91 ms | 번들 +174B·런타임 +512, 요소 트리 무변화 |
| 판정 낱말에 testid가 붙는다 | ✅ | 289.1 kB (+19 B) | 0.56 MB | 90 ms | data-testid 한 속성은 번들 +19 B뿐, 런타임·트리 변화 0 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 문화 퀴즈 화면 | ✅ | 287.8 kB (+19.6) | 0.56 MB | 90 ms | 번들 +19,635B·런타임 +18,000, 도달 불가라 요소 불변 |
| 문화 학습 화면 | ✅ | 268.2 kB (+10.2) | 0.54 MB | 86 ms | 번들 +10,183B·런타임 +8,112, 도달 불가라 요소 불변 |
| 나가기가 맵에 닿는다 | ✅ | 288.2 kB (+394 B) | 0.56 MB | 89 ms | 번들 +394B·런타임 +176, 요소 트리는 한 노드도 안 바뀜 |
| 제목 특성이 붙는다 | ✅ | 288.3 kB (+19 B) | 0.56 MB | 89 ms | 속성 하나는 번들 +19B뿐, 런타임·요소 트리 무변화 |
| 학습형 결선 | ✅ | 258.0 kB (+44.2) | 0.53 MB | 88 ms | App.tsx import 두 줄로 번들 +44KB·런타임 +48KB, 요소 트리는 그대로 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 죽은 가림 제거 | ✅ | 213.6 kB (−26 B) | 0.48 MB | 93 ms | 번들 −26B·런타임 −64B, 구조 불변, 시간은 판정 불가 |
| 학습형 매핑 (결선 없음) | ✅ | 213.8 kB (+186 B) | 0.48 MB | 100 ms | 번들 +186B·런타임 +288, 요소 트리 무변화, 시간은 판정 불가 |
| 문장 순서·단어 선택 도입 | ✅ | 213.7 kB (−205 B) | 0.48 MB | 146 ms | 새 화면은 번들에 없어 못 쟀고 어휘 승격으로 번들 −205B |
| 낭독 순서 교정 (CSS 선언) | ✅ | 213.9 kB | 0.48 MB | 136 ms | CSS 변경은 메모리가 바이트까지 같고 시간은 ±25 ms로 판정 불가 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 평가 화면 도입 | ✅ | 213.7 kB (+12.1) | 0.53 MB | 148 ms | 구조는 불변, +25ms는 변동·회귀 구분 불가로 미해결 |
| 화면 스크롤 영역 도입 | ✅ | 201.6 kB | 0.47 MB | 123 ms | scroll-view 한 겹으로 노드 +1만 설명되고 시간·메모리는 비교 불가 |
| 변경 | 상태 | 번들 | 메모리 | 첫 렌더 | 한 줄 요약 |
|---|---|---|---|---|---|
| 앱 초기 로드 | ✅ | 164.7 kB | 0.41 MB | 102 ms | iOS 수집기가 loadBundle/FCP·메모리를 기록, 분석기 정상 보고 |
| 여정 맵과 스텝 시트 | ⚪ | — | — | — | #34는 기능 baseline만 남기고 성능 baseline은 못 남겼다 |
| 바텀 네비게이션 셸 | ⚪ | 147.1 kB | — | — | #32는 기능 baseline만 남기고 성능 baseline은 없음 |