Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala部分函数合成性能_Scala_Partial Functions - Fatal编程技术网

Scala部分函数合成性能

Scala部分函数合成性能,scala,partial-functions,Scala,Partial Functions,定义为的部分函数的性能是否有任何差异 val matches = { case Match(x,y) => ... case AnotherMatch(x,y,z) => ... case x:YetAnother => ... } 一个定义如下 val match1 = { case Match(x,y) => ... } val match2 = { case AnotherMatch(x,y,z) => ... } val m

定义为的部分函数的性能是否有任何差异

val matches = {
   case Match(x,y) => ...
   case AnotherMatch(x,y,z) => ...
   case x:YetAnother => ...
}
一个定义如下

val match1 = {
   case Match(x,y) => ... 
}
val match2 = {
   case AnotherMatch(x,y,z) => ...
}
val match3 = {
   case x:YetAnother => ...
}
val matches = match1 orElse match2 orElse match3

如果匹配项为

Some(x: Int) if x > 0 => x
Some(x: Int) if x < 0 => -x
None => 0
Some(x:Int)如果x>0=>x
如果x<0=>-x,则为一些(x:Int)
无=>0

因此,在一个紧密的循环中,它可能很重要,但通常不会。但是,在大多数情况下,它可能可以忽略不计,如果后一种方法以任何方式使您的代码更可读或更易于维护,那么您应该使用它,并且只有在您确认性能是应用程序中的一个真正问题时才进行优化。