从Java调用Scala - 性能如何?

4

我有一个用Scala编写的解析器,由于实现简单而选择了这种语言。 我需要从我的Java应用程序中调用它。我知道我需要在类路径中包含Scala库等。 但是性能方面怎么样呢?与纯Java解析器调用相比,它会有任何强大的性能下降吗?

2个回答

8
调用Java中的Scala并不会产生任何开销:它在执行时只是字节码。这不像你从Java调用Python时需要通过某种桥梁来连接Java和Python之间。对于这个特定算法,无论Scala实现是否运行得更快或更慢,都将取决于算法的性质以及你实现它的方式。考虑到你不会在两种语言中采用相同的实现方式,很难预测哪一种更好。

3
在理论上不应该有任何影响,因为Scala使用的是与Java相同的JVM和字节码,而且我看到的所有性能测试都给出了两种语言大致相同的速度。也就是说,调用Java库的性能应该与调用Scala库的性能相同,或者非常相似以至于差异不会有影响。

哈。我们回答了完全相同的事情。我不确定OP是在询问关于调用Scala,还是关于两种语言标准库的相对性能。 - Andrew Spencer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接