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

标签 performance scala lazy-evaluation callbyname

我知道 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 的实例,使用名称参数的开销是调用方法 apply Function1 对象。

关于performance - Scala By-name 参数性能有多好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43685289/

相关文章:

c++ - 如何加速 dijkstra 单源、单目标回溯?

performance - 在 Elasticsearch 中使用 function_score 时,过滤器是在 function_score 对象内部还是外部有关系吗?

c++ - 调用空类方法会影响性能吗?

scala - 递归列表连接

Scala 不能证明依赖于路径的类型是相等的,尽管它应该很清楚?

apache-spark - Spark Transformation - 为什么它是懒惰的,有什么优势?

python - Whoosh 有多快?

scala - Scala 对象定义中没有父类(super class)名称的 "extends {..}"子句有什么作用?

Haskell 延迟卸载

Python:惰性字符串解码