改善Scala脚本启动时间 - 客户端模式?

Lee*_*e B 11 performance jvm scala startup

我想让简短的Scala脚本像python脚本一样快地运行,特别是在脚本启动时间方面.

任何人都可以推荐一些方法,例如,不涉及使用GCJ进行编译吗?

我能想到的一种方法是使用JVM的客户端模式运行脚本,但我似乎无法使其工作.一个例子(已知 - 好)shebang为此将是伟大的.

更新:我知道其他问题,但不要认为到目前为止找到了任何可行的答案,因为我正在寻找适用于STANDARD安装的解决方案,而无需额外的要求.这就是我试图解决的问题"例如,不涉及使用GCJ进行编译".

看起来-client模式是为了这个明确的目的而设计的,但是出于某种原因从scala脚本激活是很尴尬的.

Dan*_*ral 6

正如之前的许多 其他 问题一样,如果只能知道如何寻找它们,请使用Nailgun.

提高脚本性能的其他方法是从fsc系统启动开始,因此它可用于脚本和使用-savecompiled,以避免重复编译脚本.

编辑

你提到-client模式,但我认为这不是一个好的选择.这将为您提供一个较慢的Scala编译器,并且如果不是Java,几乎不会改善编译器本身的启动时间.使用fsc守护进程,运行-server和/或保存已编译的脚本要好得多-savecompiled.

现在,我不知道你遇到了什么问题-client,但我已经读过它不适用于64位JVM.那可能是你的情况吗?

PS:看到类似的问题,我注意到JRuby已经建立了Nailgun支持!

  • Nutter,Jruby家伙(我认为4个中的1个)有这个非常有用的帖子:http://blog.headius.com/2009/01/my-favorite-hotspot-jvm-flags.html (2认同)