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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #654 · 16.11

Пытаюсь решить организационно-логистическую задачу в #Satisfactory. Может быть, умные люди (вы) мне дадите интересные советы. Я уже открыл практически все типы деталей, они довольно сложные, и для производства многих из них нужны целые цепочки: добыть ресурс А в одном месте и ресурс B в другом, потом сделать из них детали C и D, из этой пары получить деталь E, добыть ещё ресурс F, соединить, смешать с водой... В каком-то месте эти цепочки удобно разрывать (то есть не строить всё на одной фабрике, а растаскивать фабрики по карте). Потому что, во-первых, с гигантской базой, производящей все типы всех деталей, банально неудобно работать. Во-вторых, её тяжело масштабировать. Хотя у этого решения есть плюсы, и некоторые так делают, лично я идти по такому пути не хочу. Но в каком месте рвать цепочки? Глобально есть две крайности: 1. Можно делать по фабрике на каждое звено производства. Например, фабрика, которая делает деталь E, должна принимать на вход детали C и D, и всё. Такая схема очень легко масштабируется: небольшую фабрику очень просто расширять. А детали возить между фабриками поездами. Но тогда потребуется типа 100 разных фабрик и очень сложная железнодорожная сеть. 2. Можно в каждую фабрику привозить сырьё. Только то, что невозможно произвести, а можно только добыть. Фабрика делает с нуля из сырья все детали, в том числе для промежуточных звеньев. Такую схему очень легко балансировать: один раз посчитал, сколько нужно сырья, и всё. Но фабрики для сложных деталей будут громоздкие. А ещё если деталь C нужна в десяти местах то придётся десять раз повторить всю цепочку производства детали C, а можно было бы в одном месте делать очень много деталей C и возить. Мне не нравятся оба варианта, значит, рвать цепочку нужно где-то посередине. Но где? #games

Резултати

Намерени 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