函数的局部元组参数是否已被优化掉?

时间:2018-02-07 16:01:11

标签: scala tuples compiler-optimization case-class

在scala中,我经常发现自己将一个元组传递给一个函数。例如,作为集合的累加器元素。最简单的情况是:

val x = (a,b)
def f(x : Tuple[Int, Double]) : Int

编译器是否会将其优化为

def f(a : Int, b : Double) : Int

换句话说,本地范围的产品类型(Tuple s,case class es或从Product派生的任何内容)是否会被优化以避免堆分配通过new

另一个问题是这是否也适用于退货类型?

0 个答案:

没有答案