scala/akka性能与Java7 fork/join

scala/akka性能与Java7 fork/join,java,performance,parallel-processing,akka,fork-join,Java,Performance,Parallel Processing,Akka,Fork Join,我是Scala/Akka新手,尽管我非常熟悉基于角色的建模的概念。我正在尝试并行化现有代码以获得更好的性能,我有两个版本:一个在Scala/Akka中,另一个在Java7的ForkJoinPool中 我原以为基于角色的方法应该更快,但结果恰恰相反。Scala/Akka大约20秒,而Java fork/join大约17秒 我想知道阿克卡是不是天生比较慢?或者可能是因为我在这两个实现中都使用了用普通Java编写的现有代码中的类?Akka在其Actors框架的一些实现中使用了ForkJoinPool(

我是Scala/Akka新手,尽管我非常熟悉基于角色的建模的概念。我正在尝试并行化现有代码以获得更好的性能,我有两个版本:一个在Scala/Akka中,另一个在Java7的ForkJoinPool中

我原以为基于角色的方法应该更快,但结果恰恰相反。Scala/Akka大约20秒,而Java fork/join大约17秒


我想知道阿克卡是不是天生比较慢?或者可能是因为我在这两个实现中都使用了用普通Java编写的现有代码中的类?

Akka在其Actors框架的一些实现中使用了ForkJoinPool(请参阅),因此预计运行速度会较慢。相反,它使开发人员的工作更加容易,您可以选择您喜欢哪一方面:开发速度还是运行速度


对于第二个问题,您可能希望将其拆分为另一个SO问题。

为什么期望scala版本比较低级别的Java版本更快?高级语言的运行速度几乎总是比较慢,但使用它们的原因是开发人员可以更快地编写它们。我希望akka会更快,因为在演员模型中,不同演员的内存有明显的分离,这在原则上有助于避免缓存未命中和缓存中毒。我怀疑fork-join在您的情况下也在做同样的事情,但开销较低。好的。我同意我不应该期望阿克卡更快。但为什么至少保持同样的速度呢?我的意思是Akka是基于Java的,这并不意味着它一定要慢一些。谢谢你的提示。我将分别提出第二个问题。@Mahdi当你在其他东西的基础上构建东西时,它几乎总是会变慢。唯一的问题是速度有多慢(可以从;你不能测量它到OMG!)此外,现在尝试向你的应用程序添加更多节点(JVM),并使用Akka Actors vs Java Fork Join,哪种模式可以扩展?@Klang good 12核编程Java将很难被任何类型的集群打败,因为远程调用要慢得多,Scala的远程处理非常慢(基于不可靠的多播,tcp无论如何都不能扩展),而且Akka被过分夸大了。Scala的设计错误和固有的低效性使得它的运行速度比实际慢得多。