Your coffee's gone cold again. That gradual execution process extends into a world where you hit "Run" 12 minutes ago and Gradle is still grinding through incremental compilation. Sound familiar? The game-changing part: here come the build performance improvements: Everything else was incremental, but Kotlin 2.3 changed the game
I've been developing Android apps since we did it with just Java and today finally feels like the first release where the tooling acknowledges we have other things to do. So, allow me to present to you — what months you should know about and how you can access these gains right now.
The Build Time Problem We Have All Come to Accept
Aww, the struggle every Android dev familiar with →
- On medium sized projects full builds taking 5–15 minutes
- Not really incremental incremental builds
- Compute budgets are being devoured by CI/CD pipelines.
- Hot Reload is one of the main benefits, Context switching productivity killer while builds are running
The Cost Hidden in Delays: A recent survey by JetBrains revealed that developers waste 23% of their day waiting on builds. That means there is a full-time developer for a whole team of five just sitting around.
What Kotlin 2.3 Actually Fixed
1. K2 Compiler Goes Stable (Finally)
Despite its record-breaking speed, the new K2 compiler doesn't just run faster, it actually runs a lot smarter when it comes to dependency analysis.
Real world impact: My teams #1 app (450+ Kotlin files, heavy Compose usage) went from:
- Cold build: 8m 34s → 5m 12s (40% reduction)
- Now incremental build is: 47s → 18s (62% faster)
The difference? Unlike the previous incremental compilation in K2, which would recompile whole modules, the new incremental compilation in K2 knows exactly what changed at a fine resolution.
2. Compose Compiler Plugin Optimization
For the Jetpack Compose devs, you're in luck. The Compose compiler plugin processes @Composable functions in a very different way under the hood, and Kotlin 2.3 comes with massive improvements in the way we do this.
// This kind of nested composition used to kill build times
@Composable
fun ProductScreen(viewModel: ProductViewModel = hiltViewModel()) {
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
LazyColumn {
items(uiState.products) { product ->
ProductCard(
product = product,
onAddToCart = viewModel::addToCart
)
}
}
}Original: During every composition state change, the entire Compose tree was recompiled.
Now: Compile-time Stability Introspection Since the skippable library, smart skipping and stability inference are done at compile-time not runtime.
3. Kapt Migration Path Gets Easier
Out of the box, we provision KSP (Kotlin Symbol Processing) 1.9.23, which has achieved feature parity with KAPT for Room, Hilt, and Moshi.
Migration savings for our codebase:
- Annotation processor Analysis: KAPT build time: ~180s
- KSP build time: ~45 seconds using identical processors
Just from changing out annotation processors that is a 75% reduction.
// build.gradle.kts - Make the switch
plugins {
id("com.google.devtools.ksp") version "1.9.23-1.0.20"
}
dependencies {
// Old way (slow)
// kapt("androidx.room:room-compiler:2.6.1")
// New way (fast)
ksp("androidx.room:room-compiler:2.6.1")
}To all the Backend Kotlin Developers:You are not forgotten
Kotlin 2.3 compiler improvements translate directly to writing APIs with Ktor / Spring Boot / serverless functions:
- Speedier generation of coroutine code (want, for async/await-heavy backends)
- Improved inline optimization for gRPC services and GraphQL resolvers
- Less memory usage when compiling (faster CI builds)
How you can access these wins today
Step 1: Update your gradle.properties:
kotlin.version=2.3.0
kotlin.incremental=true
kotlin.caching.enabled=true
kotlin.parallel.tasks.in.project=trueStep 2: KSP Migration (per library)
Step #3: Allow Gradle configuration cache:
org.gradle.configuration-cache=true
org.gradle.caching=trueStep 4:Profile Your Builds to Identify Bottlenecks
./gradlew assembleDebug --scanIt means we can see in the build scan where time is being spent.
Key Takeaways
- K2 offers 40–60% faster builds in real-world projects
- KSP is production-ready — migrate from KAPT now!
- 2.3 also brings a big new performance improvement with a significant drop in the overhead for compose compilation.
- Same compiler improvements apply for backend Kotlin projects
- Enable gradle caching and parallel builds for more impact
In a nutshell: Kotlin 2.3 is not only an incremental update. The long-awaited promise of JetBrains fast, modern tooling. Your build times are going to earn back your attention to detail.
Upgrade today. You will be grateful for your future self (and your coffee).
What does current build time hurt at? Below, drop it, I want to know what teams really are so slow.