안녕하세요~ 오랫만에 공부하다 애플이 어그로를 끄는데 혹 해버려서 이렇게 글을 쓰네요.
WWDC2020의 What’s New In Swift 영상의 앞 부분을 보면,
ObjC는 레퍼런스 타입으로 인스턴스 외부의 포인터들을 계속 참조하게 되고
Swift는 밸류 타입으로, 대부분의 값들이 어레이안의 인스턴스에 allocate 되어서
400개의 모델을 만들면 heap 사용량이 저렇게 60% 이하로 줄어든다.
는 건데,
결국 ObjC 의 오브젝트로 포인터, 즉 메모리 번지값일 뿐이고 첫 그림에서처럼 메모리 공간을 잡아먹어 봐야 8byte(64bit 니까) 인데,
뭔가 그림은 ObjC가 메모리 공간을 엄청 비효율적으로 잡아먹는 것 처럼 그려놨네요.
이제는 헤어진 ObjC지만 너무 구박 받는 것 처럼 보여 안쓰러움에… 써 봤어요