FastFuture在akka中的用途是什么?

时间:2017-11-24 18:21:25

标签: scala akka future

akka中Fastfuture的用法是什么,文档中没有明确说明:

  

提供在Future上定义的基本转换操作的替代实现,它尽可能避免调度到ExecutionContext,即如果给定的未来值已经存在。

它与未来有什么不同,有人可以用一个例子来解释它在什么情况下使用它以及它在性能或任何其他方面提供了什么好处?

1 个答案:

答案 0 :(得分:5)

ExecutionContext次调用中使用map时,这涉及scala Future中的额外调度费用,而使用akka FastFuture s时,它可以执行同一地图线程避免潜在的上下文切换,并可能导致非常短的任务的缓存未命中(如简单的数字运算)。因此,对于快速map操作,FastFuture应该更快。

请注意,flatMap通常也需要ExecutionContext FastFuture,因为它应该使用它来安排生成的Future

值得检查Viktor Klang's blogdiscussion related Futures on Scala contributors page