首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SBT使用快速Scala编译器(fsc)吗?

SBT使用快速Scala编译器(fsc)吗?
EN

Stack Overflow用户
提问于 2010-09-02 07:22:01
回答 4查看 6.1K关注 0票数 22

SBT是否利用fsc?

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

然后我从命令行用fsc编译了这个文件。现在我的时代是80年代,25岁,18岁。好多了!对我来说,这意味着sbt是而不是使用fsc。我说的对吗?如果是的话,它为什么不使用它?

我可能会尝试让sbt显式地使用fsc编译,虽然我不确定我是否会弄清楚配置。有人做过这个吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-02 15:00:04

当您以交互方式运行快速Scala编译器(无论是否使用它的持续构建模式)时,SBT无法从它中获益,因为Scala编译器类被加载并得到“热身”和JIT-ed,这是fsc的全部优势。

票数 12
EN

Stack Overflow用户

发布于 2012-10-18 16:07:54

这次讨论让我意识到,我一直在错误地使用sbt

而不是(从命令行):

代码语言:javascript
复制
$ sbt compile
$ sbt test

..one应该保持sbt运行,并将其视为命令提示符。

代码语言:javascript
复制
$ sbt
> compile
  ...
> test

它具有命令历史,甚至能够重新进入OS命令行。我给像我这样的人写了这个“答案”(来自Makefile的心态),他们可能没有意识到我们服用的药丸是完全错误的。:)

(不过还是很慢。)

票数 21
EN

Stack Overflow用户

发布于 2011-08-09 01:59:07

至少对于SBT0.7.x,作者解释说,它没有fsc那么快,fsc缓存编译器实例(包括加载的库),而不仅仅是JITted编译器类:

http://code.google.com/p/simple-build-tool/wiki/ChangeDetectionAndTesting

我的经验也证实,fsc对于完整编译来说更快,但不会自动选择要重新编译的内容。

对于SBT 0.10,我找不到任何关于这个问题的文档。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3624597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档