7 Punkte von xguru 2024-05-23 | 1 Kommentare | Auf WhatsApp teilen
  • Der Kotlin-K2-Compiler ist jetzt eine stabile Version. Gegenüber dem bisherigen Compiler bietet er Vorteile wie eine höhere Leistung, schnellere Entwicklung neuer Sprachfunktionen und strukturelle Verbesserungen für Multiplatform-Projekte
  • Smart Casts wurden verbessert, unter anderem bei lokalen Variablen und breiteren Scopes, Typprüfungen mit logischen OR-Operationen, inline-Funktionen, Eigenschaften vom Funktionstyp, Ausnahmebehandlung sowie Inkrement- und Dekrementoperatoren
  • In Multiplatform-Projekten werden gemeinsamer und plattformspezifischer Source-Code beim Kompilieren nun strikt getrennt. In expect/actual-Deklarationen können Sichtbarkeitsstufen jetzt unterschiedlich sein
  • Kotlin/Wasm wurde verbessert, unter anderem durch standardmäßige Unterstützung für Optimierungen mit Binaryen, Unterstützung für named export, Unterstützung für unsigned primitive types in @JsExport-Funktionen und Unterstützung für das Abfangen von JS-Ausnahmen
  • Kotlin/JS wurde verbessert, unter anderem durch das neue Kompilierungsziel es2015, das Kompilieren von suspend-Funktionen in ES-Generatoren, die Übergabe von Argumenten an die main-Funktion, dateibasierte Kompilierung, verbesserte Collection-Interop und das js-plain-objects-Plugin
  • Kotlin Multiplatform wurde verbessert, unter anderem durch das Setzen von Compiler-Optionen per Gradle DSL, die Integration des Compose-Compiler-Plugins, Änderungen am Kotlin-Datenordner und das Herunterladen des Kotlin/Native-Compilers bei Bedarf
  • In der Standardbibliothek wurden unter anderem generische Funktionen als Ersatz für values von Enum-Klassen, das AutoCloseable-Interface und gemeinsame Erweiterungsfunktionen auf stable umgestellt

1 Kommentare

 
ganadist 2024-05-23

Ein kurzer (und extremer) Benchmark zur Compiler-Performance.
https://github.com/ganadist/kotlin_build_performance

  • Jedes Projekt enthält 200 Klassen, jede Klasse umfasst 2000 Felder

  • Java: 2 Sekunden

  • Kotlin 1.9.24: 1 Minute 20 Sekunden

  • Kotlin 2.0.0: 1 Minute 1 Sekunde

Getestet auf einem MacBook Pro M1 Max.

Das obige Projekt ist ein ziemlich extremer Fall; im Allgemeinen scheint die Kompiliergeschwindigkeit von Kotlin 2.0 im Vergleich zu 1.9 etwa doppelt so hoch zu sein.