As the tech leader of TikTok Android efficiency team, aim’s to improve TikTok’s engineering architecture design and development efficiency. By modifying the compilation toolchain and moving forward to MonoRepo based on high performance compiler, the build speed and local dev experience of the TikTok has been greatly improved
Pengwen Jiao
Tech Lead, Mobile Infrastructure @ TikTok
How to make Kotlin compile 2x faster on a super large project?
In this talk, we'll introduce 5 advanced optimizations, from easy to hard to existing Kotlin compilers which are related to cache rate improvement and cache reuse. One of the heavyweight optimizations we call the "baseline kotlin cache". As we all know, normally, any changes to a low-level module will make the parent module cache fingerprint change invalid. We solved this problem by turning the fuzzy cache of the compileKotlin task into an incremental record bin, and reducing the full build time of the TikTok app in any scenario to 50%! Those solutions from TikTok could help Kotlin module build 2x+ faster than it used to be.