SBT是否使用快速Scala编译器(fsc)?

Cro*_*bie 22 scala sbt

SBT是否使用fsc?

出于测试目的,我正在一个相当慢的Ubuntu机器(Atom N270)上编译500行程序.连续三次编译时间分别为77s,66s和66s.

然后我fsc从命令行编译文件.现在我的时间是80年代,25年代,18年代.更好!这意味着我不会使用fsc.我对吗?如果是这样,为什么不使用它呢?

我可能会尝试让sbt显式地使用fsc进行编译,但我不确定我是否会找出配置.有没有人这样做过?

aka*_*ppi 21

这次讨论让我意识到我一直在使用sbt错误的方法.

而不是(从命令行):

$ sbt compile
$ sbt test
Run Code Online (Sandbox Code Playgroud)

..one应该继续sbt运行并将其视为命令提示符.

$ sbt
> compile
  ...
> test
Run Code Online (Sandbox Code Playgroud)

它具有命令历史记录甚至能够重新进入OS命令行.我为像我这样的人(来自Makefile思维模式)写了这个"答案",这可能没有意识到我们错了.:)

(但它仍然很慢.)


Ran*_*ulz 12

当您以交互方式运行它时(使用或不使用其连续构建模式),SBT无法从快速Scala编译器中受益,因为Scala编译器类已加载并获得"预热"和JIT编辑,这是整个fsc优势.