본문 바로가기

Stack2

Swift Performance (Allocation) Swift Performance (Allocation) 퍼!!!!!포먼스 평소에도 struct와 class.. 차이를 뭐 대충 알고있다고 생각했는데.. 이번엔 성능 차이에 대해 좀 자세히 알아보려 한다. 관련해서 좋은 글들이 많으니.. 내 글은 딱히.. 퀄리티가 좋다는 생각이 안들어서 다 읽으라곤 못하겠다 여튼.. 이번엔 Allcation, Reference Counting, Method Dispatch 정도까지 알아보려한다. 프로토콜 제네릭 디스패치쪽은 다음에.. https://developer.apple.com/videos/play/wwdc2016/416/ 해당 wwdc를 참고하였다. 키노트있어서 그림 안그려도 되겠다^^ 개꿀 일단.. 위에서 말한 순서대로 가보자 아 그 전에 성능표를 보자 왼쪽으로 .. 2022. 2. 20.
Swift) DoubleStack - Queue DoubleStack을 이용한 Queue Queue를 하나의 Array로 만든다면, 첫번째 요소를 제거하려 removeFirst()를 호출할텐데 공식문서를 보면 시간복잡도가 O(n) 인 모습을 볼수 있다. 이는 첫번째 요소가 빠지고 그 뒤의 요소들이 앞으로 당겨지는 과정에서 발생하는 비용으로 인한 것이다. 그래서 그러한 단점을 보완한 DoubleStack 즉, Array 2개를 이용해 단점을 보완한다 하나의 Array에 먼저 enqueue 하여 요소를 넣어주고 dequeue할 때 다른 Array에 reversed()를 이용하여 넣어준다면 첫번째 배열의 첫번째 요소가 두번째 배열에선 마지막 요소가 되기에 dequeue하여 요소를 뺄 때 첫번째 요소를 뺴서 뒤의 요소들이 앞으로 당겨지는 비용이 쓰이지 않게 .. 2022. 2. 12.