7 pontos por xguru 2024-05-23 | 1 comentários | Compartilhar no WhatsApp
  • O compilador Kotlin K2 se tornou versão estável. Em comparação com o compilador anterior, oferece melhor desempenho, maior velocidade no desenvolvimento de novos recursos da linguagem e melhorias estruturais para projetos multiplataforma
  • Houve melhorias no smart cast em variáveis locais e escopos mais amplos, verificação de tipo com operador lógico or, funções inline, propriedades do tipo função, tratamento de exceções, operadores de incremento/decremento e mais
  • Em projetos multiplataforma, a compilação do código-fonte comum e do código-fonte de plataforma passou a ser estritamente separada. Declarações expect/actual agora podem ter níveis de visibilidade diferentes
  • O Kotlin/Wasm recebeu melhorias como suporte padrão a otimização com Binaryen, suporte a named export, suporte a tipos primitivos sem sinal em funções @JsExport e suporte a captura de exceções de JS
  • O Kotlin/JS recebeu melhorias como novo alvo de compilação es2015, compilação de funções suspend para geradores ES, passagem de argumentos para a função main, compilação por arquivo, melhorias de interop com coleções e o plugin js-plain-objects
  • O Kotlin Multiplatform recebeu melhorias como configuração de opções do compilador via Gradle DSL, integração do plugin do compilador Compose, alteração da pasta de dados do Kotlin e download do compilador Kotlin/Native apenas quando necessário
  • Na biblioteca padrão, a função genérica values de classes enum foi substituída, e a interface AutoCloseable e funções de extensão comuns passaram a ser estáveis

1 comentários

 
ganadist 2024-05-23

Este é um benchmark simples (e extremo) de desempenho do compilador.
https://github.com/ganadist/kotlin_build_performance

  • Cada projeto inclui 200 classes, e cada classe contém 2000 campos

  • java : 2 segundos

  • kotlin 1.9.24 : 1 minuto e 20 segundos

  • kotlin 2.0.0 : 1 minuto e 1 segundo

Confirmado em um Macbook Pro M1 Max.

O projeto acima é um caso um pouco extremo e, em geral, parece que a velocidade de compilação do Kotlin 2.0 é cerca de 2x maior em comparação com o Kotlin 1.9.