Reflekt: a library for compile-time reflection in kotlin

A Birillo, E Lyulina, M Malysheva, V Tankov…�- Proceedings of the 44th�…, 2022 - dl.acm.org
A Birillo, E Lyulina, M Malysheva, V Tankov, T Bryksin
Proceedings of the 44th International Conference on Software Engineering�…, 2022dl.acm.org
Reflection in Kotlin is a powerful mechanism to introspect program behavior during its
execution at run-time. However, among the variety of practical tasks involving reflection,
there are scenarios when the poor performance of run-time approaches becomes a
significant disadvantage. This problem manifests itself in Kotless, a popular framework for
developing serverless applications, because the faster the applications launch, the less their
cloud infrastructure costs. In this paper, we present Reflekt---a compile-time reflection library�…
Reflection in Kotlin is a powerful mechanism to introspect program behavior during its execution at run-time. However, among the variety of practical tasks involving reflection, there are scenarios when the poor performance of run-time approaches becomes a significant disadvantage. This problem manifests itself in Kotless, a popular framework for developing serverless applications, because the faster the applications launch, the less their cloud infrastructure costs. In this paper, we present Reflekt --- a compile-time reflection library which allows to perform the search among classes, object expressions (which in Kotlin are implemented as singleton classes), and functions in Kotlin code based on the given search query. It comes with a convenient DSL and better performance comparing to the existing run-time reflection approaches. Our experiments show that replacing run-time reflection calls with Reflekt in serverless applications created with Kotless resulted in a significant performance boost in start-up time of these applications.
ACM Digital Library
Showing the best result for this search. See all results