4

我正在为我的应用程序搜索嵌入式语言。用纯 scala 编写的应用程序。我想在运行时添加一些功能。我有一个问题,scala 嵌入式比 groovy 嵌入式更快吗?

4

2 回答 2

4

我不会添加另一种语言,scala 非常适合脚本编写。速度方面,我猜 scala 通常比 groovy 快(shootout.alioth.debian.org 上有旧的基准测试,但不知何故 groovy 似乎已经从当前的基准测试中退出了?)。但是响应性不是最理想的,也就是说,正如您可能知道的那样,运行用于 scala REPL 的“解释器”是一个即时编译的编译器。这为实际编译带来了一些延迟,但执行速度与正常编译的 scala 一样。在现代计算机上,您将不会再注意到这种延迟。

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

编辑:虽然原始帖子来自 2009 年,但最近的 scala 2.8 和 groovy 1.7 的基准分布在评论中,显示仍然存在巨大差异:http ://stronglytypedblog.blogspot.com/2009/07/java-vs -scala-vs-groovy-performance.html

于 2011-02-08T19:19:45.040 回答
1

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

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

但 Groovy 确实是JVM脚本语言之一。还应该支持一起构建 Java/Scala/Groovy 文件,这样就不会产生问题。

于 2011-02-08T16:22:49.660 回答