일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- container
- value sementics
- di library
- IOS
- JSON
- swinject
- dynamic dispatch
- arc in swift
- 우유혁명
- reference sementics
- Asynchronous
- uinib
- hashable
- method dispatch
- diffabledatasourcesnapshot
- propertywrapper
- 2021wwdc
- Di
- compositional layout
- sectionHeader
- projectedvalue
- collectionView layout
- assembly
- 21wwdc
- itemidentifiertype
- SWIFT
- itemidentifier
- vwt
- sendable
- DiffableDataSource
- Today
- Total
목록dynamic dispatch (2)
onemoon Studio
Struct stack 영역을 사용한다. Heap을 쓰지 않으므로 Reference couting 이 필요하지 않음 다른 변수에 할당한 경우 값 전체가 복사가 되며, 할당된 값을 변경하더라도 기존의 값이 변경되지 않는다. 따라서 Thread 의 의도치 않은 공유로부터 안전하다. Identity가 아닌 Value 자체가 중요하다. 그렇다면 성능은? 내부 데이터(property)가 만약 Heap 과 혼용되는 경우는 결국 값의 복사 + 레퍼런스도 카피가 된다. 이때 말하는 내부 데이터를 예를 들자면 string, array, set, dictionary 또한 COW(Copy On Write) 를 통해서 불필요한 작업을 줄임 만약 immutable 하게 만들면 어떤가? 실행할때 새로운 객체를 만드는 것은 비효율..
iOS 개발을 하다보면 access control 에 대해서 관심이 생길때가 있다. final 혹은 private 을 붙히면 성능에 더 좋다라고 막연히 듣기만 했는데 이번에 한번 그 이유를 정리하고 기록을 남기고자 한다. Increasing Performance Reducing Dynamic Dispatch 프로그램의 성능을 높히기 위해서 Dynamic Dispatch 를 줄이는 방법이 있다. 그렇다면 Dynamic Dispatch란 무엇이고 이를 줄이면서 어떻게 성능이 개선되는지 한번 알아보자 Dispatch 먼저 Dispatch 의 개념부터 알아보도록 하자. Dispatch는 어떤 메소드를 호출할 것인가를 결정하여 그것을 실행하는 과정이다. Dispatch 방식은 Static Dispatch, Dyn..