iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
981 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🐥 Погружаемся под капот производительности Swift

Очень редко появляются действительно продвинутые видео от инженеров Apple про аспекты работы компилятора и советами по оптимизации Swift. Это именно те вопросы, которые все любят задавать на собеседованиях, какие трейдофы есть у абстракций в контексте производительности и как на них влияет Swift Optimizer.
Общая структура видео:
🟡Что такое производительность и как ее замерять
🟡Низкоуровневые нюансы
🟢Динамический и статический вызовы функций
🟢Аллокация памяти
🟢Выравнивание памяти
🟢Копирование значений
🟡На что стоит обратить внимание
🟢Динамически изменяемые типы
🟢Асинхронные функции
🟢Как работают дженерики и протоколы
🟢Трейдофы в производительности при работе с any

🍏#WWDC24
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥5
🐥 Использование некопируемых типов в Swift - cледующий эпизод из серии Swift под капотом

Я уже читал SE-0390 и SE-0377, но полная картина у меня появилась только после этого видео. В видео отлично объясняется разница между Shallow и Deep копиями и причина добавления таких усложнений в язык. Добавляются новые модификаторы заимствования владением, позволяющие явно декларировать соглашение о владении.
🟢Все по-умолчнию удовлетворяет Copyable
🟢~Copyable означает исключение удовлетворения протоколу
🟢consuming, borrowing, inout - явное обозначение использования. Самое простое объяснение возможности копирования - владение и защита от записи.
🟢inout - уже знакомое поведение изменяющих операций с некопируемыми значениями
🟢borrowing - возможность временно взять во владение
🟢consuming - возможность поглотить владение
Пытался понятно объяснить, но лучше вем на видео, все равно не выйдет. Очень советую выделить время на выходных 🔖

🍏#WWDC24
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12🤔5