Size: a a a

2019 October 15

TT

Turalllb Turalll in Kotlin JVM
joinToString может быть и объединит их по умному, не создавая промежуточные строки
источник

TT

Turalllb Turalll in Kotlin JVM
ну фигня то фигня, но это ведь значит что первый вариант значительно производительнее если считать в процентом соотношении
источник

AN

Alexander Nozik in Kotlin JVM
Turalllb Turalll
joinToString может быть и объединит их по умному, не создавая промежуточные строки
там тот же самый StringBuilder
источник

TT

Turalllb Turalll in Kotlin JVM
а так , я просто заморочился, хочу знать как лучше будет, если эту функцию надо в биг дата юзать
источник

TT

Turalllb Turalll in Kotlin JVM
ясно, значит он снова все строки разобьет в массив char потом в байты, а потом сделает строку)
источник

AN

Alexander Nozik in Kotlin JVM
Turalllb Turalll
а так , я просто заморочился, хочу знать как лучше будет, если эту функцию надо в биг дата юзать
Бигдата - это сколько?
источник

AN

Alexander Nozik in Kotlin JVM
Turalllb Turalll
ясно, значит он снова все строки разобьет в массив char потом в байты, а потом сделает строку)
Ну там сильно заоптимизируется.
источник

TT

Turalllb Turalll in Kotlin JVM
Alexander Nozik
Бигдата - это сколько?
в моем случае ничего нет, копейки. А вообще может я хочу транслитироцию провести гигабайтами текста
источник

AN

Alexander Nozik in Kotlin JVM
Turalllb Turalll
в моем случае ничего нет, копейки. А вообще может я хочу транслитироцию провести гигабайтами текста
Просто это называется преждевременная оптимизация и сильно осуждается. Это я вам как человек, работающий с performance sensitive кодом говорю.
источник

AN

Alexander Nozik in Kotlin JVM
buildString + forEach вполне нормальный вариант
источник

TT

Turalllb Turalll in Kotlin JVM
Alexander Nozik
Просто это называется преждевременная оптимизация и сильно осуждается. Это я вам как человек, работающий с performance sensitive кодом говорю.
знаю, я просто для себя хочу знать это, я учился начиная с qbacic и поэтому мне интересно как это под капотом работает
источник

TT

Turalllb Turalll in Kotlin JVM
buildString{} сейчас гляну
источник

AN

Alexander Nozik in Kotlin JVM
Turalllb Turalll
знаю, я просто для себя хочу знать это, я учился начиная с qbacic и поэтому мне интересно как это под капотом работает
JVM сильно оптимизирует все, часло сложно понять, что лучше. Вообще единственный критерий - профайлер
источник

TT

Turalllb Turalll in Kotlin JVM
Alexander Nozik
JVM сильно оптимизирует все, часло сложно понять, что лучше. Вообще единственный критерий - профайлер
ну это да. Раз начали эту тему, еще хотел бы спросить насчет соединения строк. Почему когда мы это делаем в цикле, то комплилятор не оптимизирует используя StringBuilder, а вне цикла оптимизирует?
источник

AN

Alexander Nozik in Kotlin JVM
Turalllb Turalll
ну это да. Раз начали эту тему, еще хотел бы спросить насчет соединения строк. Почему когда мы это делаем в цикле, то комплилятор не оптимизирует используя StringBuilder, а вне цикла оптимизирует?
Потому что не настолько умный. Когда все рядом, это просто интринсик. А если в цикле, то тут понять, как вы будете это использовать уже сложно.
источник

TT

Turalllb Turalll in Kotlin JVM
Alexander Nozik
Потому что не настолько умный. Когда все рядом, это просто интринсик. А если в цикле, то тут понять, как вы будете это использовать уже сложно.
понял спасибо и за StringBuilder{} спасибо
источник

QH

Quantum Harmonizer in Kotlin JVM
sidenote: котлин создаёт StringBuilder даже для конкатенации двух строк, хотя String.concat было бы эффективнее
источник

VP

Vladimir Petrakovich in Kotlin JVM
Я бы для начала написал читаемый код, а потом уже думал о производительности 😄
источник

AN

Alexander Nozik in Kotlin JVM
Vladimir Petrakovich
Я бы для начала написал читаемый код, а потом уже думал о производительности 😄
Даже не читаемый, а правильно организованный. И это надо вбивать в головы всем гонщикам за производительностью
источник

IM

Ivan Medvedev in Kotlin JVM
Привет. Я как не искушенный джавой поймал "NaN".toDoubleOrNull(). Починил через "NaN".toDoubleOrNull()?.takeIf { !it.isNaN() }. Подскажите, есть ли еще похожие приколы, когда я ожидаю чисел а получу нечто другое?
источник