Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 리팩토링
- collectionview
- combine
- Clean Code
- HIG
- 리펙토링
- UICollectionView
- Protocol
- MVVM
- uitableview
- tableView
- Observable
- clean architecture
- SWIFT
- swift documentation
- RxCocoa
- uiscrollview
- Refactoring
- ribs
- 스위프트
- ios
- 클린 코드
- swiftUI
- Human interface guide
- Xcode
- 애니메이션
- UITextView
- map
- rxswift
- scrollview
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - Swift] WWDC2025 정리 - swift의 새로운 기능 3편 (Swift 6.2, 성능 향상된 배열 InlineArray, Span) 본문
WWDC 정리/WWDC 2025 정리
[iOS - Swift] WWDC2025 정리 - swift의 새로운 기능 3편 (Swift 6.2, 성능 향상된 배열 InlineArray, Span)
jake-kim 2025. 7. 2. 01:08배열 향상 - InlineArray<int,int>
- 새로운 API (Swift 6.2+)
- InlineArray<요소의 크기, Int>
- 속도가 더 빠름
- 기존 Array처럼 유연성은 줄어들지만, 그 대신 속도와 메모리 효율이 훨씬 뛰어남
- 기존 Array의 단점을 보완해줌
- 동적 크기 조정을 위해 데이터를 힙(heap)에 저장하는데, 크기를 넘어서면 새로운 메모리를 할당하고 복사하는 오버헤드가 발생하고 성능에 민감한 코드를 작성할 때 비효율적임

- 만약 더 많은 요소가 저장되는경우 메모리에서 동작하는 과정?
- Heap에 새로운 메모리를 할당하고 기존 요소들을 복사과정이 필요

- InlineArray의 경우 heap에 별도로 저장하지 않고 Stack에 저장함

- 사용 방법
- Array같이 사용하며 아래에 요소의 갯수와 타입은 생략 가능 (컴파일가 알아서 추가해줌)

Array vs InlineArray
| Array | InlineArray | |
| 메모리 위치 | 힙(Heap) | 스택(Stack) 또는 인라인 저장 |
| 크기 | 동적 | 고정 (컴파일 타임에 결정됨) |
| 성능 | 힙 할당/복사로 느림 | 힙 없이 빠름 |
| 사용 용도 | 일반적인 경우 | 성능 중요, 메모리 제한 환경(임베디드 등) |
Span
- Array와 같이 데이터가 연속적인 자료구조를 띄는 곳에 사용
- 1. 빠르고 직접적인 메모리 접근
- Span은 배열 등 연속된 메모리 구조를 직접 다룰 수 있게 해줌
- 마치 포인터처럼 빠르게 접근할 수 있지만 포인터보다 훨씬 안전
- 속도는 빠르면서도 실수할 확률이 줄어듦
- 2. 메모리 안전성 보장
- 일반 포인터를 쓰면 메모리 해제 후 접근하거나 잘못된 범위를 읽을 위험이 존재
- 원본 배열이 수정되면 Span은 자동으로 무효화돼서 안전하게됨
- 3. 런타임 오버헤드 없이 동작
- 메모리 안전을 유지하면서도 성능에는 영향을 거의 주지 않음
- 컴파일 타임에 안전성을 체크하므로 실행 중엔 추가 비용이 거의 없음
- 4. 힙 할당 없이 처리 가능
- 기존 배열은 내부적으로 힙에 데이터를 저장하지만, Span은 스택이나 구조체 내부에서도 처리 가능해서 더 빠르고, 더 가벼움
- 모든 컨테이너 유형에 대해 제공함 (Swift 6.2부터)

'WWDC 정리 > WWDC 2025 정리' 카테고리의 다른 글
Comments