Доклад

Влияние Swift Runtime на производительность приложения

  • На русском языке

Доклад о методе swift_conformsToProtocol из Swift Runtime.

Расскажу, что это за метод, как он работает под капотом, почему так долго выполняется и как свести к минимуму количество вызовов метода. Объясню, какой код может работать медленно из-за явного или неявного вызова swift_conformsToProtocol: вызовы as?/as! SomeProtocol, String(describing:) и дженерик-типы с type-generic-constraint.

Покажу внутрянку String(describing:). Объясню, почему этот вызов такой долгий. Расскажу, чем и когда можно заменить String(describing:).

Обсудим, как мы оптимизировали вызовы as?/as!, где без них никак не обойтись, а также покажу пару приемов, которые позволяют уйти от вызовов as?/as!. Расскажу про наш форк SnapKit, в котором мы убрали все вызовы as?/as!.

Поговорим о том, чем плохи type-generic-constraint, почему они вызывают метод swift_conformsToProtocol. Покажу на примерах, чем заменить type-generic-constraint, и расскажу, что делать, если без них совсем не обойтись.

В конце дам набор рекомендаций, как малой кровью ускорить работу вашего приложения.

Будет полезно iOS-разработчикам, которые хотели бы ускорить свои мобильные приложения.

  • #Оптимизация
  • #Время запуска

Спикеры

Расписание