7 poin oleh xguru 2024-05-23 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
ganadist 2024-05-23

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.