【发布时间】:2013-07-31 10:24:28
【问题描述】:
我对一些代码进行了更改,它的速度提高了 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 贵?
【问题讨论】:
-
这是可变的
Queue还是不可变的? -
你的编译器版本是多少?
-
Scala 版本是 2.10.2
标签: scala optimization queue option