7 puntos por xguru 2024-05-23 | 1 comentarios | Compartir por WhatsApp
  • El compilador Kotlin K2 ya es una versión oficial. Ofrece ventajas como mejor rendimiento frente al compilador anterior, mayor velocidad en el desarrollo de nuevas funciones del lenguaje y una estructura mejorada para proyectos multiplataforma
  • Se mejoró el smart cast en variables locales y ámbitos más amplios, comprobación de tipos usando el operador lógico or, funciones inline, propiedades de tipo función, manejo de excepciones, operadores de incremento/decremento, entre otros
  • En proyectos multiplataforma, ahora hay una separación estricta al compilar código fuente común y de plataforma. Las declaraciones expect/actual ahora pueden tener distintos niveles de visibilidad
  • Kotlin/Wasm mejora con soporte predeterminado para optimización usando Binaryen, soporte para named export, soporte para tipos primitivos unsigned en funciones @JsExport, soporte para captura de excepciones de JS, entre otros
  • Kotlin/JS mejora con la incorporación del objetivo de compilación es2015, compilación de funciones suspend como generadores de ES, paso de argumentos a la función main, compilación por archivo, mejoras en la interoperabilidad de colecciones y el plugin js-plain-objects, entre otros
  • Kotlin Multiplatform mejora con configuración de opciones del compilador mediante Gradle DSL, integración del plugin del compilador de Compose, cambios en la carpeta de datos de Kotlin y descarga del compilador Kotlin/Native solo cuando sea necesario
  • En la biblioteca estándar, pasan a ser estables el reemplazo de la función genérica values de las clases enum, la interfaz AutoCloseable y funciones de extensión comunes

1 comentarios

 
ganadist 2024-05-23

Es un benchmark simple (y extremo) del rendimiento del compilador.
https://github.com/ganadist/kotlin_build_performance

  • Cada proyecto incluye 200 clases, y cada clase contiene 2000 campos

  • Java: 2 segundos

  • Kotlin 1.9.24: 1 minuto 20 segundos

  • Kotlin 2.0.0: 1 minuto 1 segundo

Lo confirmé en una MacBook Pro M1 Max.

El proyecto de arriba es un caso algo extremo, y en general parece que la velocidad de compilación de Kotlin 2.0 es aproximadamente el doble que la de Kotlin 1.9.