Недавно мы профилировали наш код и натолкнулись на несколько раздражающих горячих точек. Они в форме
assert(a == b, a + " is not equal to " + b)
Поскольку некоторые из этих утверждений могут быть вызваны в коде огромное количество раз, совпадение строк начинает складываться. assert
определяется как:
def assert(assumption : Boolean, message : Any) = ....
почему это не определяется как:
def assert(assumption : Boolean, message : => Any) = ....
Так будет лениво оценивать. Учитывая, что это не определено таким образом, существует ли встроенный способ вызова assert с параметром сообщения, который вычисляется лениво?
Спасибо