7 ポイント 投稿者 xguru 2024-05-23 | 1件のコメント | WhatsAppで共有
  • Kotlin K2コンパイラが正式版になった。従来のコンパイラと比べて性能が向上し、新しい言語機能の開発速度が上がり、マルチプラットフォームプロジェクト向けの構造も改善されている
  • ローカル変数とより広いスコープ、論理or演算子を使った型チェック、inline関数、関数型プロパティ、例外処理、インクリメント/デクリメント演算子などでsmart castが改善された
  • マルチプラットフォームプロジェクトでは、共通およびプラットフォームのソースをコンパイルする際に厳密に分離されるようになった。expect/actual宣言では可視性レベルを異なるものにできるようになった
  • Kotlin/Wasmでは、Binaryenを用いた最適化のデフォルトサポート、named exportのサポート、@JsExport関数でのunsigned primitive typeのサポート、JS exception catchのサポートなどが改善された
  • Kotlin/JSでは、es2015コンパイルターゲットの追加、suspend関数のES generatorへのコンパイル、main関数への引数の受け渡し、ファイル単位のコンパイル、コレクションinteropの改善、js-plain-objectsプラグインなどが改善された
  • Kotlin Multiplatformでは、Gradle DSLによるコンパイラオプション設定、Composeコンパイラプラグインの統合、Kotlinデータフォルダの変更、必要時のKotlin/Nativeコンパイラのダウンロードなどが改善された
  • 標準ライブラリでは、enumクラスのvaluesジェネリック関数の置き換え、AutoCloseableインターフェース、共通拡張関数などがstableになった

1件のコメント

 
ganadist 2024-05-23

簡単な、そして極端なコンパイラ性能ベンチマークです。
https://github.com/ganadist/kotlin_build_performance

  • 各プロジェクトに class 200個、各 class には 2000 個のフィールドを含む

  • java : 2秒

  • kotlin 1.9.24 : 1分20秒

  • kotlin 2.0.0 : 1分1秒

Macbook Pro M1 Max で確認しました。

上記プロジェクトはやや極端なケースですが、一般的には kotlin 1.9 と比べて 2.0 のコンパイル速度はおよそ2倍になっているようです.