티스토리 뷰

반응형

 

 

안녕하세요. iOS Developer, 멍구입니다. 🤗

iOS 개발을 하다보면, 특정 코드의 실행시간이 어느정도 소요되는지 성능 테스트를 해보고 싶을때가 있습니다.

오늘은 이렇듯, 특정 코드 연산의 실행속도를 확인하고자 할 때, Date구조체를 활용해서 간단하게 실행시간을 확인하고 성능을 체크할 수 있는 방법에 대해 알아보도록 하겠습니다. 

 

 


iOS swift, Date 구조체로 연산 실행시간 확인하기

먼저, Date를 사용하기 위해서는 기초 프레임워크, Foundation을 import 해주어야합니다. 그래야 Date 구조체를 사용할 수 있습니다. 

4행) Date() 구조체 인스턴스, currentDate를 만들었습니다. 단순 Date()로 초기화해서 인스턴스 생성 시, 생성 직후의 시간정보가 들어가게 됩니다. 해당 Date 구조체의 생성시점, 코드연산 실행 전의 시간정보를 참고해서 이후 코드 실행 후의 실행시간을 확인할 수 있게 됩니다. 

6 ~ 9행) 연산 실행시간 체크를 하려는 대상입니다. 0 ~ 20만까지의 숫자가 차례대로 정렬되어있는 배열을 문자열 배열로 매핑하고, 순차적으로 [String] 타입의 result 배열에 저장하는 연산입니다. 

이제 해당 연산이 어느정도의 시간이 소요되었는지 확인해 봐야겠죠? 이어서 확인을 해보겠습니다. 

 

 

앞서 선언했던 Date 인스턴스, currentDate의 프로퍼티인 timeIntervalSinceNow를 반환하면 됩니다. 이때 '-' 마이너스로 값을 주어야 정상적인 연산 실행시간을 알 수 있습니다. 

이렇게 간단하게 실행시간을 체크할 수 있는 코드를 작성할 수 있었는데요. 요약하자면, Date 구조체 인스턴스 선언 -> 연산할 코드 작성 -> 연산할 코드 종료 후의 라인에 Date 인스턴스의 timeIntervalSinceNow 인스턴스 사용 이 되겠습니다. 

 

 

실행을 하는데, 순식간에 연산이 이루어지지는 않네요. 우측을 보면, 진행상황이 보이고 있습니다. 완료가 되면 실행 시간 : .... 으로 연산 실행시간이 나올 예정입니다. 

 

 

중간 메서드의 map / forEach / append 연산이 종료 된 후, 실행 시간이 출력되었습니다. 아까는 6초대로 나왔는데 7초대로 더 늦게 나왔네요. 동일한 연산에 대해서 항상 동일한 실행속도로 나오지는 않네요.

아무튼, 이렇게 특정 swift 코드 연산에 대한 실행시간 체크를 하는 코드를 간단하게 작성해 보았습니다. 🤗

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함