Эффективность методов в классе дел по сравнению с сопутствующим объектом в Spark & ​​Scala - PullRequest
1 голос
/ 13 февраля 2020

В Spark & ​​Scala более эффективно помещать логические методы непосредственно в класс case или в объект-компаньон? Например:

final case class RichInt(x: Int) {
    def isLarge: Boolean = x > RichInt.largeInt
}

object RichInt {
    private val largeInt: Int = 5
}

против

final case class SlimInt(x: Int) {}

object SlimInt {
    private val largeInt: Int = 5
    def isLarge(slimInt: SlimInt) : Boolean = {
         slimInt.x > largeInt
     }
}

Методы вызываются по-разному (SlimInt.isLarge(slimInt) против richInt.isLarge), причем последний, вероятно, более интуитивно понятен, но существует ли значительный потеря производительности для одного шаблона по сравнению с другим?

...