如何减少Scala(/ Java)启动开销?


问题内容

我对Java世界一无所知(我主要使用C / Python),但是Scala看起来很有趣,足以吸引我。我遇到的一个问题是巨大的启动开销-
最少0.3秒,如果我这样做,则更多m使用解释器而不是编译,相比之下,Python或C的有效值为0。因此,即使该语言运行起来比Python快数十倍,但如果我尝试将其用于简单任务,它的运行速度仍然相当慢实践。

是否有任何方法可以减少这种时间,或者这是JVM + Scala程序所需的(隐式)导入数量的不可避免的一部分吗?


问题答案:

您正在使用哪种计算机?显然会有JVM启动开销,但是如果JVM检测到您正在服务器级计算机上运行,则开销会更大。

在J2SE平台版本5.0中,一类称为服务器类计算机的计算机已定义为具有以下条件的计算机:

  • 2个或更多物理处理器
  • 2 GB或更多的物理内存

您可以使用该选项将JVM置于 客户端模式-client。该 客户端模式 被调整为快速启动时间。

还采取了 模块化JVM
Jigsaw 项目)的措施,这将进一步缩短启动时间-
这始于JDK 1.6.0_10