我应该使用akka.http.scaladsl.util.FastFuture而不是scala.concurrent.Future吗?

时间:2017-03-15 11:35:04

标签: scala concurrency akka reactive-programming akka-http

我应该使用akka.http.scaladsl.util.FastFuture而不是scala.concurrent.Future吗?

评论说:

/**
 * Provides alternative implementations of the basic transformation operations defined on [[scala.concurrent.Future]],
 * which try to avoid scheduling to an [[scala.concurrent.ExecutionContext]] if possible, i.e. if the given future
 * value is already present.
 */

我是否会在需要使用时获得任何性能提升 Future.applyFuture.successfulFuture.failed

两种实现之间究竟有什么区别?

1 个答案:

答案 0 :(得分:1)

基本上FastFuture允许绕过Future提交给ExecutionContext,以防未来已经完成(成功与否)。

简而言之,是的,它可以为您带来性能提升。无论这些是可以忽略不计还是实质性的,都取决于您正在开发的应用程序。

我相信有一个计划将这些改进作为Scala 2.12的一部分,但我从来没有听说过这些改进的内容。