Kotlin Multiplatform Broadcast
9.48K subscribers
835 photos
53 videos
1.13K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
#performance

High performance with idiomatic Kotlin (15 мин)

Разбор основных причин с проблемами производительности и лучшие практики использования Kotlin, чтобы не сталкиваться с ними.
👍1
#gradle #performance

В Kotlin 1.7.0 появилась возможность получить больше данных о сборке проекта. Из можно собирать локально или отправлять по HTTP(S). Отчет Gradle сборки содержит больше деталей чем Gradle Build Scan. Вы сможете лучше понять проблемы ваших сборок и следить за их регрессией.
👍24🤔2👏1
Хотите узнать насколько хорош K2 компилятор в скорости? Разработчик взял приложения Now in Android и включил везде где можно K2 (kapt все также работает на старом компиляторе). Результаты не впечатляют пока, но надо помнить что это еще в разработке и нужно ждать когда все перейдет на K2. Подробный тест тут

#k2 #performance
👍24
История (12 мин) того как разработчик исследовал скорость работы Sequence и оптимизировал работу отдельных операторов на 15-20% (будет в Kotlin 2.0). Рассказывать будут про операторы distinct (enum тормозил скорость) и flatten (nullable свойство добавляло if в скомпилированном коде)

#performance
👍29
Статья про оптимизацию Int.sign под капотом. На JVM сделали миграцию на Integer.signum либо побитовые операции

#performance
🔥1
Вторая часть статьи - оптимизация Float.sign

#performance
🔥1
Рассказ про оптимизацию работы функции minOf() с более чем 2 аргументами

#performance
🤯26👍5
Romain Guy не останавливается и продолжает оптимизировать реализации функции стандартной библиотеки Kotlin. Новая часть (5 мин) рассказывает про CharSequence.isBlank().

Проблема функции - использование indices что приводит к созданию коллекции с индексами

Заметной скорости получилось добиться и тут. Меня поражает как разработчики JetBrains делают такие неэффективные реализации. Зачем все эти алгоритмы и сложны собеседования при таких результатах?

#performance
🤯56👍11
Jake Wharton решил исследовать как лучше делать маппинг набора значений в одну строку и какую лучше выбрать реализацию для этого по скорости/памяти. Массивы с лямбдой инициализации значений будут довольно полезны

#performance
👍21🤯2
Всеволод Толстопятов, разработчик из команды Kotlin, дал комментарий по поводу оптимизаций, которые сделал Romain Guy. То что так получается это не баг, а фича, так как API стараюься сделать идеоматичным и достичь производительности можно идеоматичными инструкциями без погружения на низкий уровень оптимизаций

#performance
🤯18👍9
Ну наконец-то кто-то это сделал Показывают почему не стоит использовать активно mapOf(vararg pairs: Pair<K, V>) из-за создания промежуточных объектов. Подробности в статье (5 мин)

Недавно в Android завели новые типы - ScatterMap, которые могут помочь вам ускорить работу кода и снизить нагрузку на память

#performance
🔥18🤯5
На днях вышел Gradle 8.7 и нтузиаст решил на примере проекта Now In Android оценить влияние версий Gradle на скорость компиляции проекта. По итогу время сборки осталось +- таким же, а вот расход памяти немного увеличился. Подробности читайте тут

#gradle #performance
🤯14🔥3👍2🎉2