Разработка ждёт балета
1.65K subscribers
516 photos
5 videos
15 files
1.56K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://xn--r1a.website/+e2ND1tAa0lU2ZTli
Download Telegram
Статья с демонстрацией и замерами double-checked lock. Здорово расписаны разные тесты полученной конструкции. Спойлер: double-checked lock проиграет synchronized-блоку :)

#benchmark #lock #multithreading
https://portabledroid.wordpress.com/2018/08/09/fast-locking-in-android-with-kotlin/
Пост с описанием ряда ухищрений, на которые идут в Benchmark, чтобы выдавать более стабильные результаты. Там не супер-детально всё описано, но уже что-то.
 
#jetpack #benchmark
Супер поучительная история. Чел работал над гигантской кодобазой на Java, заоптимизированной донельзя. Система работала на огромном кол-ве машин, поэтому каждый процентик экономии имел большой смысл. Наш протагонист нашёл пространство для ещё одной оптимизации: маршалинг long'ов в VarInt байты. Героически покоряя JIT и извергая ASM инструкции, он добился 4-х кратного ускорения этой небольшой функции. Раскатывает на прод - 0 эффекта. Копает, в чём дело, и, внезапно, facepalm. Никто особо не маршалит настолько больших чисел, чтобы оптимизация дала эффект. Мораль: не надо бенчмаркать на рандомных данных.

#optimize #java #benchmark
😢12😁31👏1