Scala一般性能和代码优化

时间:2014-09-17 08:06:57

标签: performance scala

与普通Java相关的scala编译代码的性能怎么样?

那么递归的开销而不是“/ while循环的标准”呢?性能较差?

如果是,那么失去业绩的折衷是什么?

修改

答案给了我安德烈亚斯诺伊曼几乎是我想知道的。刚丢失:

什么时候最好使用Scala而不是Java。

缩小问题: 当Scala更倾向于使用一致的项目而不是Java,或者两者兼而有之?

我不知道,只是猜测,也许是为了代码可维护性?

1 个答案:

答案 0 :(得分:3)

对您的问题的简短回答:

取决于。

答案更长:

在大多数情况下,您最终会获得与Java相同的快速代码。它在很大程度上取决于您在Java中的编码体验,就像在Scala中一样。 在很多情况下,编译器将能够在引擎盖下的while循环中转换递归实现 - >有关此事的信息,请参阅@tailrec Annotation。

一个好的/科学的答案:

以下是Google Research完成的问题的一篇好文章:C ++ / Java / Go / Scala中的循环识别。看看他们的发现。 摘要 - > http://research.google.com/pubs/pub37122.html PDF - > http://static.googleusercontent.com/media/research.google.com/de//pubs/archive/37122.pdf