2011-02-08 102 views
4

我在为我的应用程序搜索嵌入式语言。申请书写在纯粹的斯卡拉。我想在运行时添加一些功能。我有问题,scala嵌入比groovy嵌入更快吗?嵌入式Scala和嵌入式Groovy

回答

1

据我所知,有一些努力来实现使用语言“作为脚本语言”所必需的Java API(脚本语言支持,JSR 223),但是我不确定这样做的效果如何。

Scala整体上比Groovy更快,因为它更接近JVM可以快速执行的成语。

但是Groovy确实是用于JVM的脚本语言之一。还应该支持一起构建Java/Scala/Groovy文件,以免造成问题。

4

我不会添加另一种语言,scala非常适合编写脚本。我认为scala通常比groovy更快(在shootout.alioth.debian.org有旧的基准,但不知何故groovy似乎已经从当前的基准中退出?)。然而,响应性并不理想,也就是说,正如您所知,运行用于scala REPL的“解释器”是一种即时编译的编译器。这带有一些实际编译的延迟,但执行速度与正常编译的scala一样。在当代电脑上,你不会再注意到这种延迟。

在scala REPL之上建立了几个小工具。使用一种语言的另一个好处可能是它可能更容易将符号绑定到解释器,因为所有scala特定的东西(例如合成方法,伴随对象等)都是透明可见的。

编辑:虽然原帖是从2009年,也有从最近的斯卡拉2.8和Groovy 1.7分布在评论基准,显示了在差的幅度:http://stronglytypedblog.blogspot.com/2009/07/java-vs-scala-vs-groovy-performance.html