Size: a a a

iOS Good Talks [зарплаты 400к++]

2020 December 16

PC

Pavel C in iOS Good Talks [зарплаты 400к++]
Привет ребят. Интересная дискуссия, за счет чего именно такой прирост производительности? Компилер не дописывает самостоятельно вызоывы  .init() если заменить их вручную?
источник

エパ

エクシー パンテリーブ-先生... in iOS Good Talks [зарплаты 400к++]
Pavel C
Привет ребят. Интересная дискуссия, за счет чего именно такой прирост производительности? Компилер не дописывает самостоятельно вызоывы  .init() если заменить их вручную?
Вычисление типа непростая операция
источник

FG

Ferrero Gram in iOS Good Talks [зарплаты 400к++]
エクシー パンテリーブ-先生
Вычисление типа непростая операция
А ты derived data чистил перед вторым билдом?
источник

PI

Peer Isaac in iOS Good Talks [зарплаты 400к++]
Pavel C
Привет ребят. Интересная дискуссия, за счет чего именно такой прирост производительности? Компилер не дописывает самостоятельно вызоывы  .init() если заменить их вручную?
источник

PC

Pavel C in iOS Good Talks [зарплаты 400к++]
Спасибо. А можно взглянуть на пример кода с такой заменой?
источник

V

Vyacheslav in iOS Good Talks [зарплаты 400к++]
@exeypan давай шарь код
источник

エパ

エクシー パンテリーブ-先生... in iOS Good Talks [зарплаты 400к++]
エクシー パンテリーブ-先生
C параметрами ищу так
let ([^\s:]+) = ([A-Z][^\s.\[\]]+)\((.*)\)$
заменяю
let $1: $2 = \.init\($3\)

Тут правда больше грязи, в выборку попали
- кастинги особенно двойные+
- когда после создания инстанса в нем сразу чет вызывается
- типы c опшианал init URL, UIImage
- иф леты / гарды
- стринги с интерполяцией

над другой тут шоле регекс писать
Так вот же
источник

エパ

エクシー パンテリーブ-先生... in iOS Good Talks [зарплаты 400к++]
Поиск по регулярке в икскоде
источник

エパ

エクシー パンテリーブ-先生... in iOS Good Talks [зарплаты 400к++]
И замена регуляркой
источник

エパ

エクシー パンテリーブ-先生... in iOS Good Talks [зарплаты 400к++]
Надо наверное улучшить ее
источник

エパ

エクシー パンテリーブ-先生... in iOS Good Talks [зарплаты 400к++]
Ваще регулярку мона потом вклеить в SwiftLint
источник

V

Vyacheslav in iOS Good Talks [зарплаты 400к++]
エクシー パンテリーブ-先生
Ваще регулярку мона потом вклеить в SwiftLint
давай код шарь уже. Павел ждёт
источник

PC

Pavel C in iOS Good Talks [зарплаты 400к++]
я просто пропустил через -emit-sil и не увидел разницы в выхлопе. По крайней мере на очень очень просто примере с созданием инстанса. Возможно нужен пример сложнее. Но без протоколов, просто создание инстанса класса.
источник

PC

Pavel C in iOS Good Talks [зарплаты 400к++]
а блин, все, там и не должно быть разницы в выхлопе, это же для компила делается а не для рантайма)
источник

V

Vyacheslav in iOS Good Talks [зарплаты 400к++]
Компайл тайм не нужен
источник

エパ

エクシー パンテリーブ-先生... in iOS Good Talks [зарплаты 400к++]
Pavel C
я просто пропустил через -emit-sil и не увидел разницы в выхлопе. По крайней мере на очень очень просто примере с созданием инстанса. Возможно нужен пример сложнее. Но без протоколов, просто создание инстанса класса.
Время эмита замерял?
источник

エパ

エクシー パンテリーブ-先生... in iOS Good Talks [зарплаты 400к++]
Ну мб нужно ген запускать
источник

PC

Pavel C in iOS Good Talks [зарплаты 400к++]
エクシー パンテリーブ-先生
Время эмита замерял?
нет. Не мерял, но кейс интересный. На каком нибудь синтетическом тесте было бы показательнее.
источник

DS

Dmitry Skibin in iOS Good Talks [зарплаты 400к++]
Биток подрос и билд тайм у Ексея
источник

DS

Dmitry Skibin in iOS Good Talks [зарплаты 400к++]
Вижу зависимость
источник