⚠️ Переход на
Swift Concurrency и другие современные абстракции не делает приложение автоматически быстрее - они упрощают код, но могут невольно сериализовать параллельную работу, переместить тяжёлые вычисления на главный поток или скрыть расходы времени выполнения. Компилятор примет код, но это не гарантирует корректной модели конкуренции: важно явно понимать, кто запускает, отменяет и к какому состоянию имеет доступ асинхронная задача.⚙️ Автор разбирает расходы абстракций - протоколы,
type-erasure, actors, AnyView/AnyPublisher и т.п. - особенно на «горячих» путях (скролл, рендер, частые обновления). Цель - не убрать абстракции, а понять, где их стоимость платится и действительно ли это критично. Отдельно - влияние статической и динамической линковки, менеджеров зависимостей и модульности на время запуска; большой граф зависимостей часто скрыто тянет старт приложения.🔴 Совет: контролируйте путь запуска, откладывайте всё лишнее, что не нужно для первого полезного экрана, явно обозначайте владельцев и границы асинхронной работы и проверяйте, где ваши удобные абстракции оказываются в “горячем” цикле - там имеет смысл измерять и оптимизировать.