目前正在使用Play!Framework和Akka。我经常听到Scala Future在每个映射都是推送到新线程的新任务的意义上效率不高。由于这种行为,我有一个潜在的问题,我是压倒性的线程池。我想知道是否有一个工具可以让我知道CPU绑定任务之间不必要的上下文切换会导致延迟恶化?
谢谢!
答案 0 :(得分:0)
我使用YourKit来分析Play。如果您的应用中的所有时间都花在了Akka的Dispatcher
课程,Scala的ExecutionContext
课程或Java ForkJoinPool
上,那么它就是&# 39;您可能在进行过多的上下文切换。在Play的性能测试中,我们发现(偶然)将一个额外的上下文切换性能降低了5%(尽管如此,这是一个没有做任何事情的hello world性能测试,总是用基准测试进行基准测试)。 / p>