2010-11-21 26 views
9

我想得到与Python脚本运行速度一样快的简短Scala脚本,特别是在脚本启动时间方面。改善Scala脚本启动时间 - 客户端模式?

任何人都可以推荐一些方法来做到这一点,例如不涉及与GCJ编译?

我能想到的一种方法是使用JVM的客户端模式运行脚本,但我似乎无法得到此工作。一个例子(知名的)shebang为此会很好。

更新:我意识到其他问题,但不认为迄今为止找不到任何可行的答案,因为我正在寻找可在STANDARD安装上工作的解决方案,而无需其他要求。这就是我试图解决的问题,“不涉及与GCJ编译,例如”。

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

+0

将Scala脚本的速度与Python脚本进行比较的原因与将此处降落到此处的原因完全相同:) – 2013-09-04 10:39:30

回答

6

由于manyotherquestions已经去过,如果只能知道如何找到它们,请使用Nailgun

提高脚本性能的其他方法是在系统引导时启动fsc,因此它可用于脚本,并使用-savecompiled以避免重复编译脚本。

编辑

你提到-client模式,但我认为这真的不是一个好的选择。这个会给你一个更慢的Scala编译器,如果不是Java,那么对于提高编译器本身的启动时间几乎没有什么作用。 fsc作为后台进程,运行时间为-server,和/或用-savecompiled保存已编译的脚本更好。

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

PS:查找similar问题,我注意到JRuby已经内置Nailgun支持!

+2

Nutter,Jruby小伙子(4的1,我认为)有这个非常有用的帖子:http://blog.headius .com/2009/01/my-favorite-hotspot-jvm-flags.html – 2010-11-22 13:48:56

+0

也是:http://groups.google.com/group/jvm-languages/browse_frm/thread/3052f5cdb929e9ee# – 2010-11-22 13:56:40

+0

谢谢,但我是意识到这些。我真的只是寻找一种能够在标准设置上运行的东西,而不是像甲stuff那样的东西。对不起,如果不明确。 – 2010-11-23 14:41:54