我对一些代码进行了更改,它的速度提高了 4.5 倍。我想知道为什么。它曾经基本上是:
def doThing(queue: Queue[(String, String)]): Queue[(String, String)] = queue match {
case Queue((thing, stuff), _*) => doThing(queue.tail)
case _ => queue
}
我把它改成这个以获得巨大的速度提升:
def doThing(queue: Queue[(String, String)]): Queue[(String, String)] = queue.headOption match {
case Some((thing, stuff)) => doThing(queue.tail)
case _ => queue
}
与 headOption 相比,它的作用是什么_*
,为什么它如此昂贵?