Использование lazy val для кэширования строковых представлений

Я обнаружил следующий код в специальном выпуске Scala от JAXMag:

package com.weiglewilczek.gameoflife

case class Cell(x: Int, y: Int) {
  override def toString = position
  private lazy val position = "(%s, %s)".format(x, y)
}

Использует лиlazy val в приведенном выше коде обеспечить значительно большую производительность, чем следующий код?

package com.weiglewilczek.gameoflife

case class Cell(x: Int, y: Int) {
  override def toString = "(%s, %s)".format(x, y)
}

Или это просто случай ненужной оптимизации?

Ответы на вопрос(5)

Ваш ответ на вопрос