Um recurso útil do Scala é lazy valque a avaliação de a valé adiada até que seja necessária (no primeiro acesso).
Obviamente, é lazy valnecessário ter alguma sobrecarga - em algum lugar o Scala deve acompanhar se o valor já foi avaliado e a avaliação deve ser sincronizada, porque vários encadeamentos podem tentar acessar o valor pela primeira vez ao mesmo tempo.
Qual é exatamente o custo de um lazy val- existe um sinalizador booleano oculto associado a um lazy valpara acompanhar se foi avaliado ou não, o que exatamente está sincronizado e há mais custos?
Além disso, suponha que eu faça isso:
class Something {
lazy val (x, y) = { ... }
}
É o mesmo que ter dois lazy vals separados xe you recebo a sobrecarga apenas uma vez para o par (x, y)?
bitmap$0campo é volátil na implementação atual (2.8).