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

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

6 seconds in Kotlin (在连续重建中下至 5 seconds )

10 seconds in Scala (在连续重建中下至 7 seconds ) .

源代码的来源:

我拿了this code for Kotlin,改变了很多进口,因为显然Kotlin标准库在此期间发生了变化,以便进行编译 .

我拿了this code for Scala,并将其转换为sbt项目,每个问题都包含在 object pXY extends App { ... } 中,并将其放在包 euler 中 .

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

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

// lines words bytes

931 3603 33087 total // Kotlin

261 1166 6472 total // Scala

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

kotlin为什么比java编译慢_为什么Kotlin编译速度比Scala快? [关闭]相关推荐

  1. kotlin与java混合开发_使用kotlin和Java混合开发Android项目爬坑记录

    使用kotlin和Java混合开发Android项目爬坑记录 不定期将开发过程中遇到的问题添加在此处,加深记忆. 主要内容包括但不限于java与kotlin语言的一些区别,以及在使用android-s ...

  2. java compiler类_利用 JavaCompiler 编译 Java 类文件

    1.[代码]DiagnosticCollectorCompile.java import java.io.IOException; import java.util.Arrays; import ja ...

  3. python是脚本语言、需要编译器编译执行_使用Notepad++编译运行C/C++/Python程序

    对我来说,比较常用的是C/C++/Python. 使用Notepad++编译运行单个源文件的C/C++/Python,比使用复杂的IDE更加快捷. 想要让Notepad++能够做到编译运行C/C++/ ...

  4. python 预编译加速_让Python代码运行更快的最佳方式

    Python因其强大.灵活且易于使用等特性,而赢得了声誉.这些优点使其在各种各样的应用程序.工作流程和领域中得到了广泛应用.但是就语言的设计,也就是它天然的解释能力还有它的运行时的动态性而言,Pyth ...

  5. 编译内核_将驱动编译进内核(Kernel)的步骤记录

    1.首先在/kernel/drivers下建立驱动文件:以建立hello文件为例 2.在hello文件下创建.c/Makefile/Kconfig三个文件 3..c文件存放驱动程序:Makefile存 ...

  6. tensorflow源码编译教程_源码编译安装tensorflow 1.8

    参考官方指南 基本要求 官网测试过的源代码配置如下: image 也就是说,按照这个版本安装的话不应该再产生版本的问题了. 我的配置 ubuntu 16 python 2.7 nccl 2.3 gcc ...

  7. 添加编译宏_软件开发——编译链接

    对于平常的应用程序开发,我们很少需要关注编译和链接过程.我们平常Xcode开发就是集成的的开发环境(IDE),这样的IDE一般都将编译和链接的过程一步完成,通常将这种编译和链接合并在一起的过程称为构建 ...

  8. mysql5.6.39编译安装_源码编译安装MySQL-5.6/mysql-5.6.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!...

    1.切换到src目录 cd /usr/local/src/ 2. 下载mysql免编译二进制包 免编译的mysql二进制包5.6源码包: wget http://mirrors.163.com/mys ...

  9. mysql 5.7.14编译安装_源码编译安装mysql-5.7.14-阿里云开发者社区

    1.下载并上传 mysql-5.7.14.tar.gzview plain tar -zxf msql-5.7.14.tar.gz yum -y install gcc gcc-c++ ncurses ...

最新文章

  1. python入门到实践-一本书搞定Python入门到实践
  2. Method Area(方法区)
  3. 利用CGLib实现动态代理实现Spring的AOP
  4. scara机器人dh参数表_两分钟带你了解机器人标定的因素
  5. clang 编译过程
  6. WorldList4
  7. Python零基础学习代码实践 —— 99乘法表
  8. EF Code First学习笔记 初识Code First
  9. c语言 愚人节题目,【题解】牛客2020年愚人节比赛
  10. linux文件属性全解,Linux文件属性详细图解
  11. 人工智能NLP在金融领域的发展趋势和实践经验
  12. conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch -c conda-forge遇到的报错
  13. Ubuntu系统下的实用软件推荐
  14. Solved - Safari keeps forcing HTTPS on localhost
  15. “快乐宝宝”风波始末 (三)
  16. android安装自动打开网页,Android调用系统自带浏览器打开网页的实现方法
  17. 对数线性模型(Log-Linear Model)一种判别式模型的创建框架
  18. 服务器迁移到阿里云的解决方案
  19. SetRank(2020SIGIR)
  20. 未找到类型“****”上的构造函数的解决方案

热门文章

  1. Combine two strings into one.
  2. HP Instant Information
  3. python多线程多进程
  4. 不可不知的Oracle常用技巧
  5. ZOJ Problem Set - 1067 Color Me Less
  6. 以C#编写的Socket服务器的Android手机聊天室Demo
  7. 算法 --- 有效的括号
  8. ES5-拓展 箭头函数的this、this的优先级
  9. 2018.11.14成立我的博客
  10. pycharm中使用scrapy命命