【发布时间】:2011-10-26 18:04:19
【问题描述】:
我想知道使用lazy val 来防止不必要的堆分配是否有意义,从而使GC 的工作更容易一些。例如,我有这样写代码的习惯:
lazy val requiredParameterObject = new Foo {
val a = new ...
val b = new ...
// etc
}
for (a <- collection) a.someFunction(requiredParameterObject)
这里的想法是,通过使requiredParameterObject 变得懒惰,我可以在collection 为空的情况下节省堆分配。但我想知道:lazy 的内部细节是否使这不是有效的性能胜利?
【问题讨论】:
标签: scala