Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] 최적화 - Instrument의 Time Profiler 본문

최적화하기

[iOS - swift] 최적화 - Instrument의 Time Profiler

jake-kim 2025. 10. 8. 21:04

Time Profiler 

  • Xcode > Cmd + I로 Instrument 실행 > Time Profiler 선택

  • 창이 뜨면 Record 버튼을 눌러서 앱을 실행

  • 중지 버튼을 눌러서 분석 중지

  • 그래프를 보면 삐쭉 튀어나와있는 부분에 커서를 대면 시간이 얼마나 걸렸는지 알 수 있음

  • 그 부분을 왼쪽마우스로 클릭하고 아래 로그를 보면 어떤 부분에서 시간이 걸렸는지 확인이 가능

더 구체적으로 확인 방법

  • 위에 까지 알아본 방법은 대충 어떤 함수가 많이 걸리는지 알려주는데 더욱 구체적인 back trace를 보고싶은 경우는 아래처럼 처리가 필요
  • Samples를 클릭

  • Profile 클릭

  • 하단 로그를 보면 아래처럼 누적값으로 Weight가 표시되는데 가장 큰 weight가 증가한 start부분을 펼치기

  • option + 왼쪽마우스 클릭하면 다 펼쳐짐

  • 여기서 증가량이 많은 해당 부분을 클릭

  • 또 펼쳐서 계속 확인해보면 마침내 어디에서부터 시작되었는지와 이 이후에 어떤것들이 불렸는지 알 수 있음

  • 호출 순서: 빨간 화살표
    • Example1.heavyWork()가 호출되고나서 forEach 그다음 heavyWork() 그다음 fib() 순서로 파악이 가능하고 마침내 fib()에서 시간이 많이 걸렸다는 의미

Comments