적당한 고통은 희열이다

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

Algorithm/참고

[Swift] Set vs Array 성능 비교

hongssup_ 2024. 10. 10. 18:27
반응형

 

 

순서가 중요하지 않은 경우에 Set 이 성능적으로 훨씬 더 빠르다. 

let clock = ContinuousClock()

var arr = [Int]()
let time = clock.measure {
    for i in 0..<5000 {
        arr.append(i)
    }
}
print("array: \(time)") 

var set = Set<Int>()
let time2 = clock.measure {
    for i in 0..<5000 {
        set.insert(i)
    }
}
print("set: \(time2)") 

// array: 4.793856375000001 seconds
// set: 0.0668995 seconds

 

 

 

+ OrderedSet 이란? 

순서를 보장하면서 빠른 조회까지 하고 싶다면? 

Swift Collections 라이브러리에서 제공하는 OrderedSet 을 사용할 수 있다. 

- 삽입 순서 유지

- contains 성능은 O(1)

- 중복 자동 제거

SwiftUI, UIKit 에서 필터/태그/선택목록 등 UI 요소를 다룰 때 아주 유용함

728x90
반응형

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

Swift 코드 실행 시간 측정 방법 (최신 방법..!)  (1) 2023.05.06
[Swift] 정렬 sort / sorted 차이점  (0) 2022.12.31
modulo 10^9 + 7 이란? + 쓰는 이유?  (0) 2022.11.13
사소한 궁금증들  (0) 2022.11.13
Swift 반복문  (0) 2022.10.29