2

我知道 scala 按名称参数是如何工作的:https ://tpolecat.github.io/2014/06/26/call-by-name.html

我在一段非常敏感的代码中使用它,它会运行很多。我的问题是:是否有任何性能或内存缺陷?例如,我知道使用惰性验证有其缺点:Scala 的惰性验证的(隐藏)成本是多少?

按名称参数有类似的东西吗?它们是如何在下面实现的?

请注意,我不会将它与惰性一起用于缓存。所以我不会有上面提到的问题。我只需要知道它本身并没有使用惰性。

谢谢

4

1 回答 1

7

按名称参数实现为Function1. 因此它们也具有相同的性能特征。

使用按名称参数调用方法会产生创建实例的开销,而使用按名称参数会产生在对象上Function1调用方法的开销。applyFunction1

于 2017-04-28T17:03:23.780 回答