반응형
순서가 중요하지 않은 경우에 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 |