[컴 inline keyword 에 대한 설명

인라인 / inline /

inline keyword 에 대한 설명

jvm 에서의 inline

jvm 언어에서 작고, 반복적으로 사용되는 함수에 대해 inline keyword 을 넣을 필요는 없다. JVM JIT 이 알아서 해준다. inline 을 하는 것으로 이득을 볼 수 있다.[ref. 1]

c++ compiler 에서의 inline[ref. 3]

inline function 으로 만드는 것은 function call 에 대한 overhead 를 없애준다. 그런데 이 inline 으로 변경하는 것은 compiler 의 판단에 달려있다. inline keyword 를 넣어주면, 그나마 더 많은 경우에 compiler 가 함수를 inline 으로 만든다. 하지만 이 조차도, 특정한 경우에서는 inline 으로 만들지 않는다.(예를 들면, 재귀함수 같은 경우) 그러므로 inline 을 사용해서 함수를 inline 으로 만드는 것은 항상 그렇지 않으니, 주의해야 한다.

Reference

  1. Use inline keyword for small, private functions in kotlin? - Stack Overflow
  2. When Short Methods Pay Off: JIT Inlining - DZone
  3. Inline Functions (C++) | Microsoft Learn

댓글 없음:

댓글 쓰기