티스토리 뷰

Mobile/iOS

Swift. inline function

out of coding 2018. 7. 6. 12:59

inline?

일반적인 함수들은 런타임 시점에 function을 다른 주소에 있는 함수를 호출하게 되고 이 주소에서 다시 원래의 주소로 점프하면서 동작을 하게 됩니다.

이 동작에서 점프할 위치등을 기억하느라 비용이 발생하게 되는데 inline 함수는 컴파일 시간에 function을 코드로 붙여서 만들어주는 기능을 이야기합니다.


* 현대의 최신 컴파일러들은 최적화 기능이 들어가 있기 때문에 궂이 이 기능을 붙이지 않아도 컴파일러 자체가 이것은 인라인하는게 이득이라고 판단을 한다면 자동으로 inline하여 주게 됩니다.


Swift의 inline.

swift는 항상 최신을 사용한다는 가정하에 진행하겠습니다.

저는 일단 4.x 버전을 사용하고 있습니다.


일반 함수는 다음과 같이 선언하게 됩니다.


1
2
3
func test() {
    // brabra
}
cs


그냥 리쉽게 호출하는 값이 되겠죠.


inline 함수입니다.


1
2
3
@inline(__always) func test() {
    // brabra
}
cs


앞에 @inline을 넣어주면 되는데 뒤에 __always는 설정값입니다.


1
2
@inline(__always) // 항상 적용합니다.
@inline(never) // 적용하지 않습니다. 꼭 빼야 할 경우
cs


이렇게 사용할수 있을거 같습니다.


간단한 설명이었습니다.

'Mobile > iOS' 카테고리의 다른 글

Swift. AVPlayer 이용하기  (0) 2018.07.08
Swift. @escaping, @autoclosure  (0) 2018.07.06
iOS. Core Data 간략히 설명  (0) 2018.06.30
Swift. 접근 한정자  (0) 2018.06.25
cocoapods. Library 등록 하기  (0) 2018.06.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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
글 보관함