TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #216 · 11.02

В Твиттере айтишники иногда поднимают тему выгорания, но она для меня не до конца понятна. Много лет назад я взялся за написание очень масштабного проекта. У меня было куда меньше опыта программирования, чем сейчас. Используемые мной инструменты были несовершенны, а применял я их не всегда правильно. Стоит ли говорить, что проект, цикл разработки которого планировался года на полтора, занял все пять, и вышел в таком плохом техническом состоянии, что даже после двух переделок был закрыт. Это была онлайн-игра для ВК, кто очень давно меня читает, те могут даже что-то помнить. Это, пожалуй, самая сокрушительная история моего поражения, после которой были полгода единственной во всей моей жизни настоящей депрессии. Под конец разработки я испытывал сильнейшее эмоциональное истощение. Я просто видеть не мог этот проект. Я просыпался каждый день с мыслью о том, что мне снова нужно открывать IDE и вносить правки, добавлять фичи, и что конца этому нет, потому что сделать нужно столько, сколько я за сегодня в принципе смогу, пока не упаду замертво. Особенно после релиза, когда проявились проблемы, и когда стало ясно, что игра не «выстрелила», и я не стану миллионером, но принять решение бросить её это значило отказаться от надежд, которые питали меня последние 5 лет. В общем, по всем признакам похоже на выгорание. Разработчик вкладывает в работу так много сил и эмоций, что у него садится батарейка. И всё-таки. Я ведь сам виноват: истощал себя, потому что взял задачу не по силам, да ещё и создал вокруг неё завышенные ожидания. Мою энергию тратило моё же собственное упорство и нежелание признавать фиаско. Однако принято воспринимать и описывать выгорание, как внешний фактор. Стихию, которая тебе не особо подконтрольна. Разве что условно: ты мог добровольно выбрать не ехать в то место, где потом начался ураган. И вот тут я не особо согласен. Мне кажется, человек понимает, что именно он продолжает делать, чтобы выгорать. А ещё для выгорания нужно иметь возможность похандрить, вы уж простите. Так и представляю себе, как выгорает рабочий, который вагоны разгружает. Или кассирша в Пятёрочке. Что-то тяжело мне стало товары пробивать, уйду в саббатикал! Ну ладно, они, допустим, эмоции в работу не вкладывают (а программисты действительно вкладывают, об этом я как-нибудь ещё напишу). Но где у нас выгорание врачей, учителей? Пашут как проклятые же. Это мы, айтишники — неженки, чуть что, сразу психолога мне. Так что и к историям о выгорании я отношусь соответственно, хотя сам подобное проходил. Выгорел — значит, была возможность. Было окно в жизни, которое можно заполнить страданиями. Было достаточно денег, чтобы с работы уйти. Это не отменяет того факта, что субъективно человеку действительно очень плохо и тяжело. Но если я себе ногу отпилю — мне тоже будет очень плохо и тяжело. #dev#life

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #llvm

当前筛选 #llvm清除筛选
Android Broadcast

@android_broadcast · Post #9894 · 17.03.2026 г., 05:32

🤖Google ускорила ядро Android, скормив компилятору профили реального использования Команда LLVM toolchain в Google рассказала, как они применили AutoFDO (Automatic Feedback-Directed Optimization) к ядру Android — и результаты интересные. Идея простая: обычный компилятор принимает решения об оптимизациях на основе статических эвристик. Встроить функцию или нет, какая ветка условия чаще выполняется — всё это угадывается без реальных данных из приложений и пользовательских сценариев. AutoFDO меняет подход: компилятор получает профили реального выполнения кода и на их основе принимает куда более точные решения. Эта техника Google уже давно применяется к своей серверной инфраструктуре и ChromeOS, так что подход обкатанный и зарекомендовавший себя. Кто знаком с ART Profiles — идея покажется знакомой. Там тот же принцип: собираем данные о реальном выполнении, отдаём компилятору, получаем более точный нативный код. Только ART Profiles работают на уровне ART для Java/Kotlin-кода конкретного приложения, а AutoFDO — на уровне ядра, C/C++ и LLVM. Разные слои, одна философия. Для ядра профили собирают не с реальных устройств, а в лабораторных условиях: запускают топ-100 самых популярных приложений, используют simpleperf и аппаратные возможности ARM для записи истории ветвлений. Собранные данные показывают 85% совпадение с профилями реального парка устройств — этого достаточно, чтобы считать подход рабочим. Результаты на ядрах 6.1, 6.6 и 6.12: 👉 холодный старт приложений стал быстрее на ~4% 👉 время загрузки сократилось на ~1% 👉 ядро занимает ~40% CPU-времени на Android, так что любая оптимизация здесь ощутима Важный момент: AutoFDO не меняет логику кода, только влияет на решения компилятора — инлайнинг, раскладку кода. Функции, которые не попали в профили («холодные»), компилируются стандартным образом, без изменений. Сейчас это уже в проде — профили включены в ветки android15-6.6 и android16-6.12, так что устройства на этих ядрах уже собираются с AutoFDO. Pixel-устройства точно попадают в эту категорию. С другими производителями сложнее: многие используют сильно модифицированное ядро и не переходят на GKI из AOSP, так что там это может быть не применено вовсе. В планах — GKI-модули, вендорные модули через DDK и поддержка новых версий ядра. 🔗 Источник - блог Android Developers #Android#AndroidDev#Производительность#LLVM#Native