Script

<aside> 💡 순서

  1. Struct/Class
    1. Allocation
    2. Reference counting
    3. Method dispatch
  2. Protocol / Generic
    1. Protocol types
    2. Generic code </aside>

Dimensions of Performance

이유없이 dynamism, rumtime에 비용을 쏟는 코드는 좋지 않다

빠른 코드를 위해서라면 저 둘은 피하는게 좋음

Untitled

<aside> 💡 어떻게 빠른 코드를 작성할 수 있을까?

  1. Allocation

    객체가 메모리에 allocation 될 때, Stack? Heap? → Stack이 더 빠름

  2. Reference Counting

    객체를 주고 받을 때, 얼마나 많은 reference counting overhead가 발생?

    → 적을수록 좋음

  3. Method Dispatch

    객체 내의 Method를 호출할 때, Static ? Dynamic ?

    → Static이 더 빠름

</aside>

1 - Allocation

Swift에서 메모리는 자동으로 Stack이나 Heap에 Allocate(할당)된다.

1. Stack

2. Heap