Kotlin 2.0.0'daki başlıca değişiklikler
(kotlinlang.org)- Kotlin K2 derleyicisi kararlı sürüme ulaştı. Önceki derleyiciye kıyasla performans artışı, yeni dil özelliklerinin geliştirilme hızında iyileşme ve çok platformlu projeler için yapısal geliştirmeler gibi avantajlar sunuyor
- Smart cast; yerel değişkenler ve daha geniş kapsam, mantıksal
orişleciyle tür kontrolü,inlinefonksiyonlar, fonksiyon türü özellikleri, istisna işleme ve artırma/azaltma işleçleri gibi alanlarda iyileştirildi - Çok platformlu projelerde ortak ve platform kaynaklarının derlenmesi daha katı biçimde ayrıldı.
expect/actualbildirimlerinde görünürlük seviyelerinin farklı olabilmesi sağlandı - Kotlin/Wasm; Binaryen ile optimizasyonu varsayılan olarak destekleme, named export desteği,
@JsExportfonksiyonlarında unsigned primitive type desteği ve JS exception catch desteği gibi açılardan geliştirildi - Kotlin/JS;
es2015derleme hedefinin eklenmesi,suspendfonksiyonların ES generator olarak derlenmesi,mainfonksiyonuna argüman aktarımı, dosya düzeyinde derleme, koleksiyon interop iyileştirmeleri vejs-plain-objectseklentisi gibi yenilikler aldı - Kotlin Multiplatform; derleyici seçeneklerinin Gradle DSL ile ayarlanması, Compose derleyici eklentisinin entegrasyonu, Kotlin veri klasörü değişikliği ve Kotlin/Native derleyicisinin gerektiğinde indirilmesi gibi konularda iyileştirildi
- Standart kütüphanede enum sınıfları için
valuesgenel fonksiyonunun yerine geçen yapı,AutoCloseablearayüzü ve ortak genişletme fonksiyonları kararlı hale geldi
1 yorum
Basit bir (ve uç düzeyde) derleyici performans kıyaslaması.
https://github.com/ganadist/kotlin_build_performance
Her projede 200 class var ve her class 2000 alan içeriyor
java : 2 saniye
kotlin 1.9.24 : 1 dakika 20 saniye
kotlin 2.0.0 : 1 dakika 1 saniye
Macbook Pro M1 Max üzerinde doğruladım.
Yukarıdaki proje biraz uç bir örnek; genel olarak Kotlin 1.9 ile karşılaştırıldığında 2.0'ın derleme hızının yaklaşık 2 kat olduğunu düşünüyorum.