Salah satu fitur praktis dari Scala adalah lazy val, di mana evaluasi a valditunda sampai diperlukan (pada akses pertama).
Tentu saja, lazy valharus memiliki beberapa overhead - di suatu tempat Scala harus melacak apakah nilai telah dievaluasi dan evaluasi harus disinkronkan, karena beberapa utas mungkin mencoba mengakses nilai untuk pertama kalinya pada waktu yang sama.
Apa sebenarnya biaya a lazy val- apakah ada bendera boolean tersembunyi yang terkait dengan lazy valuntuk melacak apakah telah dievaluasi atau tidak, apa sebenarnya yang disinkronkan dan apakah ada biaya lagi?
Selain itu, misalkan saya melakukan ini:
class Something {
lazy val (x, y) = { ... }
}
Apakah ini sama dengan memiliki dua lazy vals terpisah xdan yatau apakah saya mendapatkan overhead hanya sekali, untuk pasangan (x, y)?
bitmap$0bidang ini tidak stabil dalam implementasi saat ini (2.8).