Мой проект состоит из ~ 350 файлов Swift и ~ 40 cocoa зависимостей pod.
Как только весь проект был перенесен на Swift 3
, время сборки было INCREDIBLY медленным и заняло чуть более 3 минут, чтобы полностью скомпилировать.
Я заметил, что если я перестрою после того, как не изменил никаких файлов, он будет построен в течение разумного промежутка времени. Однако, если я добавлю новую функцию, она займет 3 + минуты.
Cocoapods, похоже, не вызывает проблемы, поскольку он задерживается в состоянии Compiling Swift source files
.
Я следовал this, чтобы исследовать:
-
Добавлен флаг
-Xfrontend -debug-time-function-bodies
в мойOther Swift Flags
в настройках моей целевой сборки -
Постройте проект
-
Скопировал это в терминал и запустил
pbpaste | egrep '\.[0-9]ms' | sort -t "." -k 1 -n | tail -100
Однако я не видел ничего, что вызывало беспокойство. Файл, который занимал больше всего времени, составлял всего 250 мс. Следующий ближайший был 100 мс, даже если все 350 файлов взяли 250 мс для компиляции, это было бы всего лишь 73 секунды, что было бы далеко от 3 + минутных сборок, которые я вижу.
Что может быть причиной этих длительных периодов компиляции?
До обновления до Xcode 8
и Swift 3
он не был таким медленным.