调试长的编译时间,Scala和SBT(Debug long compile times in Sca

2019-08-01 12:45发布

在我的斯卡拉/ SBT项目,我有一个文件,它需要长达5(!)分钟进行编译。 所有其他的人可以在几秒钟内编译。 这使得开发相当痛苦。

我敢肯定,我滥用了一些Scala的构造,但我不知道如何去调试它。 一个人如何调试长的编译时间,Scala呢?

我使用Scala的2.9.2和SBT 0.11.2

Answer 1:

你可以试试下面的Scala编译器选项:

  • -Ystatistics打印统计编译

找到一个阶段是花费时间最多的。 然后,尝试这些:

  • -Xprint:<phase>后打印出的程序或“所有”
  • -Yshow-trees与-print连接使用时,显示详细的树:相
  • -Ydebug输出调试消息
  • -Ypmat-debug跟踪所有模式匹配的活动。

要直接从控制台SBT启用这些设置,您可以使用set scalacOptions in ThisBuild += "-Ystatistics" ,或一个以上的, set scalacOptions in ThisBuild ++= Seq("-Yshow-trees", "-Ydebug)



文章来源: Debug long compile times in Scala and SBT
标签: scala sbt