当前位置:  开发笔记 > 编程语言 > 正文

为什么Kotlin编译速度比Scala快?

如何解决《为什么Kotlin编译速度比Scala快?》经验,为你挑选了1个好方法。

当我们阅读Kotlin编程语言的维基百科描述时,它表明:

JetBrains领导人Dmitry Jemerov表示,除了Scala之外,大多数语言都没有他们想要的功能.但是,他认为Scala的编译时间很慢是一个明显的缺陷.[4] Kotlin的既定目标之一是尽可能快地编译Java.

他们是如何实现这一目标的?为什么Scala编译时间太慢以至于Kotlin创作者无法接受?或者 - 换句话说 - Scala编译器的哪些功能使它比Kotlin编译器慢?



1> 0__..:

虽然我认为这个问题不适合Stack Overflow,因为它倾向于主要产生基于意见的答案,但这里有一个尝试:你有两种不同的语言,特别是关于类型系统,以及两个完全独立的编译器实现.所以期望它们具有"相同"的编译速度已经是一种谬论.我在评论中链接了另一个检查Scala编译器速度的问题.基本上,它取决于许多因素,例如类型推断器的工作量和特定代码库所需的隐式解析.

然而,我运行了一个非常快速的例子:我在Kotlin和Scala中编译了一些Project Euler解决方案.这让我对整个项目进行了新的重新编译:

Kotlin 6秒(连续重建时间缩短至5秒)

Scala中10秒(连续重建时间缩短至7秒).

源代码的来源:

我把这个代码用于Kotlin,改变了很多进口,因为显然Kotlin标准库在此期间发生了变化,以便进行编译.

我把这个代码用于Scala,并将其转换为一个sbt项目,每个问题都包含object pXY extends App { ... }在一个包中euler.

然后我删除了只存在一个解决方案的文件,最终导致了26个问题.这两个项目都是使用IntelliJ IDEA 15 CE编译的Rebuild Project.


为了对这个业务提供另一个视角,我wc对来源进行了计算(字数统计):

// lines words bytes
931  3603 33087 total  // Kotlin
261  1166  6472 total  // Scala

所以现在你可以争辩说Kotlin编译器需要处理"更多源代码"或者Scala代码"更密集":)


一个糟糕的问题的一个非常好的答案:)
推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有