SBT是否使用快速Scala编译器(fsc)?
SBT是否使用fsc 出于测试目的,我正在一台相当慢的Ubuntu机器(AtomN270)上编译一个500行的程序。三个连续的编译时间分别为77秒、66秒和66秒 然后,我使用命令行中的SBT是否使用快速Scala编译器(fsc)?,scala,sbt,Scala,Sbt,SBT是否使用fsc 出于测试目的,我正在一台相当慢的Ubuntu机器(AtomN270)上编译一个500行的程序。三个连续的编译时间分别为77秒、66秒和66秒 然后,我使用命令行中的fsc编译了该文件。现在我的时代是80年代,25年代,18年代。更好!这对我来说意味着sbt是而不是fsc。我说得对吗?如果是,为什么不使用它 我可能会尝试让sbt显式地使用fsc进行编译,尽管我不确定我是否会弄清楚配置。有人这样做过吗?当您以交互方式运行快速Scala编译器(使用或不使用其连续构建模式)时,SB
fsc
编译了该文件。现在我的时代是80年代,25年代,18年代。更好!这对我来说意味着sbt是而不是fsc
。我说得对吗?如果是,为什么不使用它
我可能会尝试让sbt显式地使用fsc进行编译,尽管我不确定我是否会弄清楚配置。有人这样做过吗?当您以交互方式运行快速Scala编译器(使用或不使用其连续构建模式)时,SBT无法从中受益,因为Scala编译器类已加载并“预热”和JIT,这是fsc的全部优势。至少对于SBT 0.7.x,作者解释说它不如fsc快,后者缓存编译器实例(包括加载的库),而不仅仅是JITted编译器类: 我的经验还证实,fsc对于完整编译速度更快,但不会自动选择要重新编译的内容
对于SBT 0.10,我找不到关于这个问题的任何文档。这个讨论让我意识到我使用了
SBT
错误的方法
而不是(从命令行):
…应保持sbt
运行,并将其视为命令提示符
$ sbt
> compile
...
> test
它有命令历史记录,甚至可以跳回操作系统命令行。我为其他像我这样的人写了这个“答案”(来自Makefile心态),他们可能没有意识到我们服用的药丸是错的
(虽然仍然很慢。)你不需要再做了。Sbt现在有自己的方式:
$ sbt
> compile
...
> test