목록 보기
Mergeable libraries 로 29% 빠르게 앱 실행하기
프론트엔드

Mergeable libraries 로 29% 빠르게 앱 실행하기

29cm
29cm
2025년 1월 7일

두줄요약

29CM iOS 앱에 Mergeable libraries를 적용해 Release 빌드의 라이브러리 병합 문제를 해결했습니다. Sentry로 정량 측정한 결과 앱 시작 시간이 눈에 띄게 개선되었습니다.

문제 상황

  • 29CM iOS 앱의 Cold Start 지표가 p50 약 1.5초, p90 약 2.3초로 다소 느린 상태
  • 80개가 넘는 모듈과 다수의 Dynamic library 구조에서 시작 시간 개선 필요

원인 분석

  • Release 빌드에서도 Dynamic library가 유지되어 앱 시작 시 로드·링크 비용 발생
  • 정적 링크와 동적 링크의 장단점이 빌드 시간과 시작 시간에 각각 상충

해결 방법

  • Xcode 15의 Mergeable libraries 도입으로 Debug는 Dynamic, Release는 Static처럼 병합되도록 구성
  • Automatic 설정 실패 후 Manual 설정으로 전환하고, 간접 종속성에 병합 플래그와 Tuist 설정 반영
  • Sentry와 otool로 결과를 검증하고 시작 시간 변화를 정량 측정

성능/운영 포인트

  • Cold Start 약 400~500ms, Warm Start 약 180~250ms 개선
  • 불필요한 심볼 제거용 -no_exported_symbols 옵션도 함께 적용

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...