PartialFunction或Else的效率

Chr*_*ers 6 scala

是利用一个PartialFunctionorElse多于或少于采用大型高效match期间块apply的时间?

为了说明这个问题,是:

val pf = { case "a" => "A"} orElse 
         { case "b" => "B" } orElse 
         { case "c" => "C" } ...
Run Code Online (Sandbox Code Playgroud)

效率高于或低于:

val pf = { case "a" => "A"
  case "b" => "B"
  case "c" => "C"
  ...
}
Run Code Online (Sandbox Code Playgroud)

在申请期间,价值为pf:

pf(x)
Run Code Online (Sandbox Code Playgroud)

huy*_*hjl 5

请参阅未过滤作者的详细分析.它基本上效率低下.我相信在博客文章发布后不久,我们已经完成了一些工作以解决这个问题.