Size: a a a

Kotlin Community

2020 February 11

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
Так-то нет. В чем логичность?
А зачем несколько лишних вызовов там, где их спокойно можно избежать? Особенно в коде, который, к примеру, в каждом кадре вызывается. Да, это небольшая экономия, но всё же.
источник

AM

Andrew Mikhaylov in Kotlin Community
Denys
Умеет
Это круто, буду знать. Тогда, наверное, и правда можно не париться.
источник

D

Denys in Kotlin Community
https://youtu.be/uQ_yK8kRCaA?t=660
Рекомендую весь
источник

QH

Quantum Harmonizer in Kotlin Community
Andrew Mikhaylov
Особенно когда один из таргетов -- андроид, ART которого ничего не знает об инлайнинге, да.
В смысле не знает?)
источник

VP

Vladimir Petrakovich in Kotlin Community
Andrew Mikhaylov
А зачем несколько лишних вызовов там, где их спокойно можно избежать? Особенно в коде, который, к примеру, в каждом кадре вызывается. Да, это небольшая экономия, но всё же.
Да, выглядит как сомнительная экономия. Измерять эффект пробовал? 😏
источник

QH

Quantum Harmonizer in Kotlin Community
Andrew Mikhaylov
R8 по своей воле что-то инлайнить умеет самостоятельно? @Harmonizr, ты в теме?
Самостоятельно — нет, надо этот р8 включить :)
источник

AM

Andrew Mikhaylov in Kotlin Community
Спасибо!
источник

QH

Quantum Harmonizer in Kotlin Community
Мне особенно нравится инлайн для передачи дефолтных аргументов.
источник

AM

Andrew Mikhaylov in Kotlin Community
Quantum Harmonizer
Самостоятельно — нет, надо этот р8 включить :)
Очевидно, предполагается, что сам по себе он уже включён, раз вопрос был, умеет ли он это делать :)
источник

D

Denys in Kotlin Community
Andrew Mikhaylov
Очевидно, предполагается, что сам по себе он уже включён, раз вопрос был, умеет ли он это делать :)
Насколько я помню, многое таки инлайнится by-default и его нужно отключать, а не включать.
источник

D

Denys in Kotlin Community
Вот тут Джей еще про расширенный контроль пишет https://jakewharton.com/r8-optimization-class-reflection-and-forced-inlining/#inlining-by-force
источник
2020 February 12

BP

Bogdan Panchenko in Kotlin Community
Andrew Mikhaylov
А зачем несколько лишних вызовов там, где их спокойно можно избежать? Особенно в коде, который, к примеру, в каждом кадре вызывается. Да, это небольшая экономия, но всё же.
ты в байткод котлина смотрел ведь 🌚
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
ты в байткод котлина смотрел ведь 🌚
huh?
источник

VP

Vladimir Petrakovich in Kotlin Community
Andrew Mikhaylov
Особенно когда один из таргетов -- андроид, ART которого ничего не знает об инлайнинге, да.
А откуда такая инфа?
источник

BP

Bogdan Panchenko in Kotlin Community
сколько он мусора генерит, по такой логике котлни не нужно использовать - сэкономим !
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
сколько он мусора генерит, по такой логике котлни не нужно использовать - сэкономим !
Сколько? Чеккасты, наллчеки. Вроде всё
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
А откуда такая инфа?
Да мне уже рассказали, что у меня устаревшая информация
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
Сколько? Чеккасты, наллчеки. Вроде всё
левые переменные, и некоторые дублируются для тредсейфа
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
левые переменные, и некоторые дублируются для тредсейфа
Левые переменные для дебаггера в инлайнах. Прогард должен их схлопнуть.
Для тредсейфа сам Котлин ничего не добавляет (либо я что-то упустил), а вот (ручное) кеширование полей в локалах — это только в плюс.
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
Левые переменные для дебаггера в инлайнах. Прогард должен их схлопнуть.
Для тредсейфа сам Котлин ничего не добавляет (либо я что-то упустил), а вот (ручное) кеширование полей в локалах — это только в плюс.
я не использую прогард, про последнее - конечно плюс, но факт фактом
источник