Macht #import <UIKit/UIKit.h> auf pch verlangsamen compile-Zeit?
War ich der Lektüre dieses post über Einfuhren und ich hatte eine Frage. Hat die #import kommt im Präfix verwendet werden.pch-Datei standardmäßig verlangsamen compile-Zeit? Sollte ich es entfernen und import nur bei Bedarf?
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Es verbessert sogar die Zusammenstellung Geschwindigkeit.
Dies ist ein nettes tutorial , dass tatsächlich löscht alle Verwirrung über die Verwendung von #import-Anweisungen und .Die PCH-Dateien. Auch er sagt Ihnen im detail über etwas neues bekannt als "Module", eingeführt in iOS7.
Seit Xcode 5, es ist ein neues feature einführen vorkompilierten Quellen Datenbank. Xcode 5 im Grunde kompiliert alle benötigten frameworks nur einmal, spart baut in der Datenbank und das bereits kompilierten Stücke verwendet, während Sie den code zu kompilieren. Also nichts in der Bibliothek ist nicht kompiliert mehrfach.
Also meine Vermutung ist, während der Verwendung von Xcode 5, Sie brauchen keine sorgen zu machen.
Können Sie sehen WWDC 2013 video "What' s New in Xcode 5" die Einführung dieser Funktion bei https://developer.apple.com/wwdc/videos/
Wenn ich falsch Liege, bitte jemand mehr darüber informiert, fühlen Sie sich frei, mich zu korrigieren.
Das klingt kontrovers, aber im Gegensatz zu dem, was jeder sagt über Module, ich habe das komplette Gegenteil erleben. Ich habe, was du in Betracht ziehen, ein großes Projekt (sehr groß mit verschiedenen Abhängigkeiten und Bibliotheken). Vor kurzem begann ich zu bemerken, dass die compile-Zeiten waren sehr sehr sehr lange (rund 5 Minuten normal Bauzeit und etwa 15 Minuten das "Archiv" mal auf ein 2014 Mac Pro mit 12 Kernen und 32 GB RAM).
Ich lief ein experiment, indem Sie einfach ausschalten Aktivieren Link-Frameworks Automatisch auf alle Bibliotheken und Projekte sowie Aktivieren der Module. Ich 'archiviert', und es dauerte 3 Minuten, Archiv.
Drehte ich mich 'Enable-Module" AUF und Tat das gleiche, und es dauerte, als normal, 15 Minuten. Fremd und seltsam, aber ich bin kleben mit diesen Optionen ausgeschaltet.