Sergei Rybalkin

Kotlin @ Meta

Talk Title

Compile Kotlin faster with ABI






16:25 > 40 min


on Twitter

This talk is a deep dive into the various optimisations we use at Meta to make Kotlin builds faster.
Sergei will walk the audience through various compilation avoidance and compilation throughput techniques: compilation against ABI (different modes), class usage tracking, K2

Sergei's previous Droidcon talk describes a various way how Meta improved Java compilation in previous years -

This talk will observe our experience of introducing various optimisation in Kotlin.

We will get into various aspects of Kotlin integration into Build systems (BUCK)
We will use some advanced techniques of Kotlin Compiler Plugins.

Talk plan:
- General problems of slow Kotlin builds
- How to compete with Java (baseline for Kotlin build times)
- Building Kotlin against ABI
a. compilation avoidance / caching
b. implementing various kinds of abi generation in BUCK
c. source-only abi for Kotlin - how to compile code without dependencies?
d. How to build a compiler withing compiler - source-only-abi generation experience with compiler plugins
- Compilation avoidance with class-usage tracking
- K2 and upcoming build problems
- Conclusion

Speaker Bio

Sergei works with JVM-based languages for more than 10 years. At Meta he is adopting and optimising Kotlin for Android. Before joining Facebook Sergei worked on Kotlin adoption for server side and frameworks at Alibaba Group.