Je suis en utilisant Xcode 6 Beta 6.
C'est quelque chose qui m'énerve pour un certain temps maintenant, mais il atteint un point où il est à peine utilisable.
Mon projet commence à avoir un décent taille de 65 swift fichiers et quelques comblé objc fichiers (qui sont vraiment pas la cause du problème).
Il semble que la moindre modification à toute swift fichier (comme l'ajout d'un simple espace blanc dans une classe qui est à peine utilisé dans l'app) va entraîner l'ensemble de la swift fichiers de la cible spécifiée être recompilés.
Après une enquête plus approfondie, j'ai trouvé que ce qui est en train près de 100% du compilateur temps est l' CompileSwift
phase où xcode exécute l' swiftc
commande sur tous les swift fichiers de votre cible.
C'est ce que j'obtiens après l'ajout d'un espace à peine utilisé en classe. Les deux sommets que vous voyez sont le compilateur de l'exécution de l' CompileSwift
de phase.
J'ai fait un peu plus d'investigation et si je ne garde que le délégué d'application avec un contrôleur par défaut la compilation est très rapide, mais comme je l'ai été d'ajouter de plus en plus de mes fichiers de projet, le temps de compilation commençais à être très lent.
Maintenant, avec seulement 65 source des fichiers. Il faut environ 8 à 10 secondes pour compiler à chaque fois. Pas très swift .
Je n'ai pas vu de post à parler de ce problème à l'exception de cette seule mais c'était une vieille version de Xcode 6. Alors je me demandais si je suis le seul dans ce cas.
Mise à JOUR
J'ai vérifié sur github quelques swift projets comme Alamofire, Euler et CryptoSwift , mais aucun d'eux n'était assez swift fichiers à comparer. Le seul projet que j'ai trouvé que c'était de départ ont décent taille a été SwiftHN, et même si elle n'avait qu'une douzaine de fichiers source que j'étais encore en mesure de vérifier la même chose, un espace simple et l'ensemble du projet nécessaires recompilation qui commençait à prendre un peu de temps (2/3 secondes).
Par rapport à ObjC code où à la fois de l'analyseur et de la compilation ultra-rapide cela se sent vraiment comme swift ne sera jamais capable de gérer de gros projets, mais s'il vous plaît dites-moi que je me trompe.
Je suis de l'ouverture de cette question pour bounty que j'espère qu'il va conduire plus de vues.
Mise à JOUR de Xcode 6 Beta 7
Toujours pas d'amélioration que ce soit. Cela commence à devenir ridicule. Avec le manque d' #import
dans swift, je ne vois vraiment pas comment Apple va jamais être en mesure d'optimiser cette.