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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #620 · 30.10

История из жизни. В начальной школе у нас проводили конкурс моделей из Лего, участвовать мог каждый, у кого был этот конструктор. Требовалось заявить одну любую модель. Я тогда был под впечатлением от просмотра Фантомаса — той серии, где Фантомас улетает на автомобиле с крыльями, поэтому потратил много дней, чтобы собрать такой автомобиль. С виду совершенно обычный, но внутри был спрятан хитрый механизм на рычагах. Нужно было нажать на определённое место на крыше, чтобы из боков выдвинулись крылья. Я очень гордился этой поделкой и с радостью принёс её на конкурс, будучи уверенным, что выиграю. — Нет, — сказали мне на месте, — с готовыми моделями нельзя. Вы должны были принести конструктор и собирать модель для конкурса на месте. Так что собирай что-то другое. Это была катастрофа. У меня не было с собой всего конструктора, только те детали, которые использовались в автомобиле Фантомаса. Совсем небольшая часть весьма специфических деталей, из которых не особенно то соберёшь что-то принципиально другое. Я запаниковал. Я видел, что некоторые участники принесли с собой инструкции и собирают коробочные наборы — это было запрещено, но следили слабо, а пожилая учительница начальных классов, скорее всего, не особо понимала, что это у них за книжечки цветные такие. Ну собирают же дети что-то. Я начал по памяти воспроизводить свой коробочный набор LEGO 6550, многие детали которого были в машине Фантомаса, но быстро понял, что, во-первых, деталей всё-таки не особо хватает, а, во-вторых, не хотелось быть нарушителем и представлять не свою модель. К этому моменту я перестал нервничать и успокоился. Подумав, на что похож корпус вот этой машинки, я остановился на такой идее: пусть это будет голова динозавра. Добавил тело, хвост, лапы, челюсти. Получилось что-то вроде тирекса-робота, похожего на трансформеров-динозавров из мультика. Никаких интересных механизмов не было, вроде чуть-чуть двигались лапы, кажется даже челюсть не закрывалась. Мы расставили наши модельки на общем столе. Пригласили комиссию из учителей и... сразу отвели их к столу оценивать. Не дали презентовать модель или как-то показать её в действии, не дали ничего о ней рассказать, мы вообще стояли в стороне и не видели, что там учителя делают. Практически все модельки были автомобилями. Если бы мне разрешили оставить автомобиль Фантомаса, то для жюри это был бы просто обычный автомобиль, они никак не узнали бы, что там внутри механизм с крыльями. Зато динозавр был единственным и привлекал своим внешним видом. Выиграли в итоге двое: я и ещё один парень с космическим кораблём (тоже единственным). В награду получили по книжке-раскраске с автомобилями :) Мораль, думаю, вывести совсем не сложно: 1. Иногда проблемы это действительно новые возможности. 2. Нежелание мухлевать и сокращать путь сделает твои результаты более интересными, чем у других. 3. Всегда носи с собой все детали своего Lego :) #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