AG
val (a, b) = ("a", 2)
оптимизируется компилятором, или прям создаётся тупл в рантайме и анматчится?object TestTupleUnapply {Я до конца синтаксис интовый не понимаю, но судя по результату там contstexpr сработал, и сразу на принт уходит посчитанное значение (так что большинство кейсов должны быть без алокаций для случаев где С2 сгенерировал натив)
def main(args: Array[String]): Unit = {
test()
}
def test(): Unit = {
for (_ <- 1 to 100_000) {
val (a, b) = (100500, 100600)
println(a + b)
}
}
}
java.io.PrintStream::println201100@1 (line 821)
0x000000011fcea6c4: mov %rdx201100,%rsi
UPD