적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Algorithm/참고

Swift 코드 실행 시간 측정 방법 (최신 방법..!)

hongssup_ 2023. 5. 6. 13:35
반응형

개발을 하거나 코딩테스트 문제를 풀 때, 특정 코드가 실행되는 시간을 구하고 싶을 때가 있다. 

아래의 함수들을 이용해 코드의 수행시간을 측정할 있다. 

 

1. CFTimeInterval

public func progressTime(_ closure: () -> ()) -> TimeInterval {
    let start = CFAbsoluteTimeGetCurrent()
    closure()
    let duration = CFAbsoluteTimeGetCurrent() - start
    return duration
}

progressTime {
    //실행 시간 측정할 코드
}

 

2. Date

public func measureTime(_ closure: () -> ()) -> TimeInterval {
    let startDate = Date()
    closure()
    return Date().timeIntervalSince(startDate)
}

measureTime {
    //실행 시간 측정할 코드
}

 

3. Clock 

Swift 5.7 부터 시간을 측정해주는 Clock 프로토콜이 제공된다고 한다. 😆

iOS 16 이상부터 사용 가능. 

let clock = ContinuousClock()

clock.measure {
    //실행 시간 측정할 코드
}

프린트 해보고 싶으면 다음과 같이 사용해줄 수 있다. 

let time = clock.measure {
    //실행 시간 측정할 코드
}
print(time)

참고 : https://developer.apple.com/documentation/swift/clock

 

728x90
반응형

'Algorithm > 참고' 카테고리의 다른 글

[Swift] 정렬 sort / sorted 차이점  (0) 2022.12.31
modulo 10^9 + 7 이란? + 쓰는 이유?  (0) 2022.11.13
사소한 궁금증들  (0) 2022.11.13
Swift 반복문  (0) 2022.10.29
코테공부 시행착오  (0) 2022.10.27