Scala By-name 参数性能有多好?

How good is Scala By-name parameters performance?

我知道 scala 别名参数的工作原理:https://tpolecat.github.io/2014/06/26/call-by-name.html

我在一段非常敏感的代码中使用了它,运行 得到了很多。 我的问题是:是否存在任何性能或内存缺陷? 例如,我知道使用 lazy val 有其缺点:What's the (hidden) cost of Scala's lazy val?

名字参数有类似的东西吗?它们在底层是如何实现的?

请注意我不会将它与 lazy 一起用于缓存。所以我不会有上述问题。我只需要知道它不使用 lazy 本身。

谢谢

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

使用按名称参数调用方法的开销是创建 Function1 的实例,使用按名称参数的开销是在 [=10= 上调用方法 apply ] 对象。