- Kompiler Kotlin K2 kini menjadi versi resmi. Dibandingkan kompiler sebelumnya, ada keunggulan seperti peningkatan performa, percepatan pengembangan fitur bahasa baru, dan perbaikan struktur untuk proyek multiplatform
- Smart cast ditingkatkan pada variabel lokal dan scope yang lebih luas, pemeriksaan tipe dengan operator logika
or, fungsi inline, properti bertipe fungsi, penanganan exception, operator increment/decrement, dan lainnya
- Pada proyek multiplatform, kompilasi source bersama dan source platform kini dipisahkan secara ketat. Pada deklarasi
expect/actual, level visibilitas kini bisa berbeda
- Kotlin/Wasm ditingkatkan dengan dukungan default untuk optimisasi menggunakan Binaryen, dukungan named export, dukungan unsigned primitive type pada fungsi
@JsExport, dukungan catch untuk exception JS, dan lainnya
- Kotlin/JS ditingkatkan dengan penambahan target kompilasi
es2015, kompilasi fungsi suspend ke ES generator, pengiriman argumen ke fungsi main, kompilasi per file, peningkatan interop koleksi, plugin js-plain-objects, dan lainnya
- Kotlin Multiplatform ditingkatkan dengan pengaturan opsi kompiler melalui Gradle DSL, integrasi plugin kompiler Compose, perubahan folder data Kotlin, pengunduhan kompiler Kotlin/Native hanya saat diperlukan, dan lainnya
- Pada pustaka standar, fungsi generik pengganti
values pada kelas enum, antarmuka AutoCloseable, fungsi ekstensi umum, dan lainnya kini berubah menjadi stable
1 komentar
Ini adalah benchmark performa compiler yang sederhana (dan ekstrem).
https://github.com/ganadist/kotlin_build_performance
Setiap proyek berisi 200 class, dan setiap class mencakup 2000 field
java : 2 detik
kotlin 1.9.24 : 1 menit 20 detik
kotlin 2.0.0 : 1 menit 1 detik
Diuji pada Macbook Pro M1 Max.
Proyek di atas adalah kasus yang cukup ekstrem, dan secara umum tampaknya kecepatan kompilasi Kotlin 2.0 sekitar 2 kali lebih cepat dibanding 1.9.