Signposts 및 Instruments에서 성능 측정: 시작하기

iOS 앱의 성능 튜닝에서 Signposts를 사용하는 방법에 대해 씁니다. 코드 중에 넣은 가장 간단한 마커를 Instruments 로 표시시키는 부분까지를 초보자라도 알 수 있도록 순서를 따라 설명해 갑니다.

Signposts란?



성능을 측정하기 위한 마커로 Xcode 10에서 도입되었습니다. 성능을 조사하려는 코드에 마커를 넣고 프로파일 링하여 측정 결과를 Instruments에 그래픽으로 표시 할 수 있습니다.
자신의 신경이 쓰이는 곳을 포커스 해 해석할 수 있으므로, 퍼포먼스 튜닝이 끝나는 것 같다고 생각합니다.

확인 사항



Xcode 10에서 도입된 것이므로 iOS 12 이상이 아니면 움직이지 않습니다.


마커 사용법


import os.signpost

먼저 os.signpost를 가져옵니다.
let bootLog = OSLog(subsystem: "com.example.your-app", category: "BootOperations")

그런 다음 측정하려는 위치에서 로그 핸들을 가져옵니다. subsystem 에는 앱의 Bundle ID 등을 적당히 지정하고, category 는 이 로그의 그룹명을 자유롭게 생각해 지정합니다. 여기에서는, 기동시의 퍼포먼스를 계측하기 위해서, BootOperations 라고 지정하고 있습니다.
os_signpost(.begin, log: bootLog, name: "fetch something")
fetchSomething()
os_signpost(.end, log: bootLog, name: "fetch something")

마지막으로, 작성한 로그의 인스턴스를 사용하면서, 측정하고 싶은 부분을 os_signpost().begin.end 로 둘러싸십시오. 여기서는 fetchSomething() 의 시간을 측정하고 fetch something 로 표시하도록 설정했습니다.

측정 방법



코드가 준비되면 실제로 측정해 봅니다. Instruments의 Time Profiler를 사용하는 절차와 거의 동일하므로 Time Profiler를 사용한 적이없는 사람은 먼저 아래를 참조하십시오. 첫 사람이라도 알기 쉽게 정리되어 있습니다.

Instruments Time Profiler 사용
htps : // 코 m / 오카모토케 /

signpost를 사용하려면 먼저 Time Profiler를 선택하여 Instruments를 시작합니다.

시작하면 오른쪽 상단의 "+"버튼을 클릭하고 "Filter"에서 "sign"을 입력하면 "os_signpost"가 좁혀 표시됩니다.

이 os_signpost를 두 번 클릭하여 추가합니다.

이것으로 준비 완료입니다. 빨간색 원 버튼을 눌러 측정을 시작하고 마커를 넣은 코드가 실행되면 정지해 봅시다.

무사히 BootOperations 그룹에 fetch something 의 실행 시간이 기록되어 그래픽으로 표시할 수 있었습니다.

요약



Signposts의 간단한 마커를 코드에 넣어 Instruments에서 표시하는 방법을 설명했습니다. Signposts 에서는 한층 더 여러가지 할 수 있으므로, 흥미있는 분은 아래를 봐 주세요.

Signposts 및 Instruments에서 성능 측정: 기초편
h tps:// 퀵했다. 작은 m / h 사와다 / MS / 1358 그림 bc9 아 1 아 82 아 C4f12

참고문헌



Measuring Performance Using Logging
htps : //로 ゔぇぺぺr. 아 ぇ. 이 m / ぃ에서 s / p ぁ y / wdc2018/405

Xcode Time Profiler 사용 방법
htps : // 코 m / 오카모토케 /

좋은 웹페이지 즐겨찾기