티스토리 뷰
안녕하세요. 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 코드 연산에 대한 실행시간 체크를 하는 코드를 간단하게 작성해 보았습니다. 🤗
'iOS 개발 > iOS 개발 팁' 카테고리의 다른 글
신입 개발자 준비할때 있으면 좋은 스펙, 경험 팁 정리 (6) | 2020.10.16 |
---|---|
온라인 IDE repl로 간편하게 코딩테스트 알고리즘 문제풀기 (0) | 2020.10.07 |
애플 매직 트랙패드2, 구매 및 아이맥 연결 사용후기 (0) | 2020.09.25 |
색상 RGB, Hex 헥사 값 변환결과 쉽게 확인하는방법 (0) | 2020.09.14 |
iOS Date, timeStamp값으로 생성 후 시간 값 다루는법 (0) | 2020.09.13 |
- Total
- Today
- Yesterday
- CoreML
- 개발자문서
- 컬렉션
- 프로그래머스swift
- swift알고리즘
- Collection
- 스위프트
- 알고리즘문제
- swift
- createML
- publisher
- 백준swift
- ios
- 부스트코스
- swift문제
- Protocol
- 자연어처리
- 백준알고리즘
- 프로토콜
- swift string
- 프로그래머스
- 김프매매
- uikit
- swift 문자열
- 알고리즘
- swift언어
- Swift 알고리즘
- swift 기초
- swift reduce
- SwiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |