inline붙은 함수는 빠르게 연산된다는데 구체적으로 언제 써? 그냥 모든 함수에 inline 붙이는건 아닐테고
댓글 5
inline 붙는다고 다 빠르게 되진 않고, 무리하게 인라인 붙였다간 속도 느려질 수도 있다고 함. (명령어 캐시 + 콜을 하느냐 아니면 inline 된 함수의 어셈블리를 그대로 집어넣느냐)
경험상으로는 몇 줄 되지도 않는 함수가지고 함수 콜 비용도 아깝다할 때? 쓰긴 하는데 이런 경우에는 컴파일러가 알아서 판단해서 inline 해주는 경우도 있음.
노이ㄴ(liliilli)2019-10-22 13:55
답글
그냥 C++ 문법적으로는 헤더에 함수 선언이랑 정의까지 다 집어넣게 하고 싶을 때도 쓰긴 함. inline 쓰면은 컴파일 할 때 여러 해석단위에서 inline 된 함수 심볼이나 변수 심볼을 하나로 퉁쳐줌.
노이ㄴ(liliilli)2019-10-22 13:58
답글
ㄱㅅㄱㅅ
익명(211.114)2019-10-22 14:04
답글
글고 inline 붙인다고 컴파일러가 인라인화시켜주는건 아님. __forceinline 같은 그냥 싸그리 다 무시하고 인라인화 시켜달라고 하는 것도 있긴 한데 이건 비표준이고 쫌 그럼...
inline 붙는다고 다 빠르게 되진 않고, 무리하게 인라인 붙였다간 속도 느려질 수도 있다고 함. (명령어 캐시 + 콜을 하느냐 아니면 inline 된 함수의 어셈블리를 그대로 집어넣느냐) 경험상으로는 몇 줄 되지도 않는 함수가지고 함수 콜 비용도 아깝다할 때? 쓰긴 하는데 이런 경우에는 컴파일러가 알아서 판단해서 inline 해주는 경우도 있음.
그냥 C++ 문법적으로는 헤더에 함수 선언이랑 정의까지 다 집어넣게 하고 싶을 때도 쓰긴 함. inline 쓰면은 컴파일 할 때 여러 해석단위에서 inline 된 함수 심볼이나 변수 심볼을 하나로 퉁쳐줌.
ㄱㅅㄱㅅ
글고 inline 붙인다고 컴파일러가 인라인화시켜주는건 아님. __forceinline 같은 그냥 싸그리 다 무시하고 인라인화 시켜달라고 하는 것도 있긴 한데 이건 비표준이고 쫌 그럼...
h cpp 분리하기 귀찮을때