Reader small image

You're reading from  Kotlin Design Patterns and Best Practices - Third Edition

Product typeBook
Published inApr 2024
PublisherPackt
ISBN-139781805127765
Edition3rd Edition
Right arrow
Author (1)
Alexey Soshin
Alexey Soshin
author image
Alexey Soshin

Alexey Soshin is a software architect with 18 years of experience in the industry. He started exploring Kotlin when Kotlin was still in beta, and since then has been a big enthusiast of the language. He's a conference speaker, published writer, and the author of a video course titled Pragmatic System Design
Read more about Alexey Soshin

Right arrow

Inline functions

It’s considered best practice to divide your code into small functions, and rightfully so. However, every function call introduces a level of indirection and slight performance overhead. While insignificant individually, this overhead may stack up if the function is invoked millions of times. In some cases, such as within the Spring Framework, functions may be hundreds of lines long due to performance requirements, leading to a departure from the single responsibility principle.

Inline functions can enhance performance by reducing the overhead of function calls. When you call a regular function, the Kotlin compiler generates a function invocation, which entails pushing arguments onto the stack, jumping to the function code, executing it, and then returning. Inline functions replace the function call with the actual function body at compile time, eliminating this overhead.

When passing lambda expressions as arguments to higher-order functions in Kotlin...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Kotlin Design Patterns and Best Practices - Third Edition
Published in: Apr 2024Publisher: PacktISBN-13: 9781805127765

Author (1)

author image
Alexey Soshin

Alexey Soshin is a software architect with 18 years of experience in the industry. He started exploring Kotlin when Kotlin was still in beta, and since then has been a big enthusiast of the language. He's a conference speaker, published writer, and the author of a video course titled Pragmatic System Design
Read more about Alexey Soshin