-
[작성중] [Swift] COW (Copy-on-Write)► Swift 2023. 6. 30. 20:40반응형
두서없이 써논 글입니다!
//[ COW (Copy-on-Write) ] // 복사작업을 할때, 복사했을때는 복사본이 원본으로 유지되고, 복사본에서 수정이 이루워지면 그때 리얼복사본으로 바뀜. // 아래의 코드는 이해를 돕기위하여 생략된 코드임. 작동은 에러남 var array1:[Int] = [1,2,3,4] // [1, 2, 3, 4] var array2:[Int] = array1 // [1, 2, 3, 4] //address(of: array1) //"출처1" //address(of: array2) //"출처1" //cow array1[0] = 1 //address(of: array1) //"출처2" //address(of: array2) //"출처1" //장점: 처음엔 참조만하고, 실제로 수정될 때 복사를 해서 불필요한 메모리를 줄임. //단점: 첫 수정작업을 할 때 (복사하는시간) cow 때문에 실행이 좀 더딤. (오버헤드를 발생시키는 느낌적느낌으로 추측) //cow measureTime{ array1[0] = 1 } //23.49......ms (0.023초) measureTime{ array1[1] = 1 } //0.15......ms
반응형'► Swift' 카테고리의 다른 글
[Programmers] Swift 알고리즘 | Lv.0 제곱수 판별하기 (0) 2024.02.21 [작성중] [Swift] 초보공부자료 (0) 2023.06.30 [작성중] [Swift] playground_코드 연습하는 법 (0) 2023.06.30 [작성중] [Swift] Optional Unwrapping - 옵셔널 바인딩(if let vs guard let) (0) 2023.06.30 [작성중] [Swift] optional unwrapping, 강제추출(forced upwrapping) (0) 2023.06.28