我是 Scala/Akka 的新手,虽然我非常熟悉基于角色的建模的概念。我正在尝试并行化现有代码以获得更好的性能,我有两个版本:一个在 Scala/Akka 中,一个在 Java 7 的 ForkJoinPool 中。
我原以为基于actor的方法应该更快,但结果恰恰相反。Scala/Akka 大约需要 20 秒,而 Java fork/join 大约需要 17 秒。
我想知道akka本质上是否较慢?或者可能是因为我在两个实现中都使用了用普通 Java 编写的现有代码中的类?
我是 Scala/Akka 的新手,虽然我非常熟悉基于角色的建模的概念。我正在尝试并行化现有代码以获得更好的性能,我有两个版本:一个在 Scala/Akka 中,一个在 Java 7 的 ForkJoinPool 中。
我原以为基于actor的方法应该更快,但结果恰恰相反。Scala/Akka 大约需要 20 秒,而 Java fork/join 大约需要 17 秒。
我想知道akka本质上是否较慢?或者可能是因为我在两个实现中都使用了用普通 Java 编写的现有代码中的类?
Akka 在其 Actors 框架的一些实现中使用了 ForkJoinPool(请参阅Java 7 ForkJoinTask 和 Akka 2.0),因此运行时预计会更慢。相反,它在开发人员方面更容易使用,您可以选择您喜欢的方面:开发速度或运行速度!
对于第二个问题,您可能希望将其拆分为另一个 SO 问题。