Xcode Quad Core-Optimierung

7

Ist Xcode (mit Xcode 4.2) für einen Quad-Core-Prozessor optimiert? Meine eigentliche Frage ist, ob sich die Leistung von Xcode bei einem Dual-Core-i7 im Gegensatz zu einem Quad-Core-i7 deutlich unterscheidet.

Ich könnte bald einen neuen Computer kaufen und möchte wissen, ob es sich lohnt, den Quad-Core 15 "anstelle des Dual-Core 13" zu verwenden. Ich mache mir keine Sorgen um die Bildschirmgröße.

Vielen Dank!

eric.mitchell
quelle

Antworten:

9

Xcode nutzt viele Kerne - insbesondere beim Ausführen des Simulators, beim Testen von Einheiten zur Erstellungszeit und nur beim Codieren / Kompilieren / Durchsuchen von Dokumentation.

Überprüfen Sie auch, ob der Prozessor mit mehr Kernen eine höhere Geschwindigkeitssteigerung aufweist, wenn nur ein Kern ausgeführt wird. Die Nenngeschwindigkeiten werden stärker von den thermischen Bedingungen unter Voll- oder Benchmark-Last gesteuert und können schneller laufen, wenn die aktuelle Arbeitslast von einem einzelnen Thread dominiert wird.


Im Allgemeinen ist das E / A das erste, was einen Entwickler verlangsamt, der mehrere normale Entwicklungsaufgaben ausführt. Als nächstes ist nicht genügend RAM und eine entfernte dritte CPU mit geringer Leistung. Bringen Sie Ihr Xcode-Installationsprogramm und einige Beispielprojekte in einen Apple Store und fragen Sie, ob Sie einige Tests sowohl auf dem Luftweg als auch auf größeren Maschinen durchführen können. Einige spezifische Codebasen und -einstellungen sind möglicherweise polarisierter als der allgemeine Fall und stärker auf die CPU mit größerem Cache oder größerer Geschwindigkeit ausgerichtet, aber die kleinste Luft ist so viel schneller als meine drei Jahre alten 15 MBP, dass sie überhaupt nicht sehr lustig ist.

bmike
quelle
Gut, danke! Da ich kein Hardware-Typ bin, bin ich über diese Dinge ein wenig im Dunkeln. Ich verstehe, dass GHz teilweise ein Spiegelbild der Geschwindigkeit des Prozessors ist - was wäre schneller für das Kompilieren / Simulieren / Testen von Code - des 2,8-GHz-Dual-Core- oder des 2,2-GHz-Quad-Core? Oder gibt es einen spürbaren Unterschied?
Eric.mitchell
6
Ich würde die SSD bekommen, die Sie sich zuerst leisten können. Selbst eine Luft mit SSD ist produktiver / schneller als ein iMac mit einem sich drehenden Laufwerk. Legen Sie große Dateien nach Bedarf an einer anderen Stelle (zweites Laufwerk) ab und sorgen Sie sich nur um die CPU als letztes Element. Es hängt mehr vom Code ab - aber auch hier ist das E / A das, was Ihre Produktivität und nicht die CPU beeinträchtigt. Nehmen Sie ein Beispielprojekt und führen Sie es auf einer beliebigen Air aus, um zu sehen, wie schnell diese sind. Die meisten Geschäfte haben keine SSD für andere Modelle ausgestellt, aber Ihr Geld dafür zuerst auszugeben, wäre mein Rat.
bmike
Zunächst einmal wird es ein Laptop sein, obwohl ich nicht sicher bin, ob das einen großen Unterschied macht. Und wow - wirklich ist die SSD die wichtigste? Ich hatte gedacht, das sei eher eine Annehmlichkeitssache. 8 GB RAM hätten jedoch immer noch Vorrang vor der SSD, oder?
Eric.mitchell
2
Nein - SSD ist das Wichtigste - und RAM kann problemlos auf jedem Nicht-Air- Computer hinzugefügt werden und wird häufig günstiger . Ich vergleiche immer, was RamJet kostet, mit Apple RAM - beide sind Anbieter von Premium-Service und geringem Aufwand. Sie können sehen, ob Sie warten und mit dem Basis-RAM arbeiten oder auf Anhieb nach dem Werks-RAM suchen möchten. Wenn Sie warten, bis Sie tatsächlich RAM-Einschränkungen haben, sind die Kosten möglicherweise gesunken, während Sie von der Basiskonfiguration gelebt haben. Ja, Sie können SSD auch später hinzufügen, aber diese können mit Schlafproblemen, Problemen mit dem
Temperatursensor
Wow - das hat meine Sichtweise völlig verändert. Wird der aktualisierte RAM und Prozessor die Kompilierungszeit nicht merklich verlängern? Das ist das einzige Problem, das ich mit dem Computer habe, den ich gerade habe. Es ist der Grund, warum ich ein Upgrade durchführe.
Eric.mitchell
1

Dies mag in den vergangenen Tagen für Ziel C der Fall gewesen sein, aber Xcode 8.0 verwendet NICHT alle Kerne (zumindest beim schnellen Kompilieren).

Ein Hinweis zur Erklärung:

  1. Holen Sie sich xcode 8.0
  2. Aktivitätsmonitor auf der Registerkarte CPU geöffnet ausführen Beobachten Sie die Leerlaufzeiten während der schnellen Kompilierungsphase. DANN sollten Sie unbedingt abstimmen (sobald Sie keinen signifikanten Leerlauf sehen). Ein i7-basierter Mac ist ein Bonus.

UPD: Es ist auf besondere Weise kaputt. Zu Beginn werden 4-5 schnelle Compiler ausgelöst, um der Anzahl der physischen Kerne zu entsprechen. Später wird jedoch jeweils 1 (EINER!) Schneller Compiler ausgeführt, was zu einer massiven CPU-Unterauslastung führt.

Vielleicht kann das schnelle Frontend die Abhängigkeiten für einen parallelen Build nicht herausfinden.

Beachten Sie, ich sage nicht: Kaufen Sie keine 4-Kern-Maschine! migriere nicht zu schnell! Das Aktivitätsmonitor-Setup zum Aktualisieren jeder einzelnen Sekunde auf einem i5- und i7-Mac zeigt jedoch nur einen einzigen schnellen Compiler im Flug. Es wird langsam zu einem strittigen Punkt, da der Swift möglicherweise schneller als objc kompiliert wird und weniger Code kompiliert werden muss.

UPD20161104: Beachten Sie, wie sich die Archivierung (vermutlich von den Nextstep-Ingenieuren der alten Schule geschrieben) von diesem neuen Open-Source-Müll abhebt: Sie verwendet nur etwas mehr als 3 Kerne, sodass 1 ein (sehr) ansprechendes System hat. Perfekt.

Im Gegensatz dazu liegt die Leistung beim Hochladen des Archivs auf iTunes Connect bei satten 5-7 KBit / s (und das sind über 50 Mbit / s Glasfaserverbindung). Ich frage mich, wo der Engpass am anderen Ende liegt.

Anton Tropashko
quelle
Klingt nach einem Fehler und nicht nach einer architektonischen Veränderung. Ich sehe es nicht, aber ich laufe gerade nicht auf i7. Tolle Details +1 und danke für die Aktualisierung des Threads. Der Teil davon, der immer hervorragend sein wird, ist, wie man einen Test einrichtet und warum man bestimmte Gegenstände misst. +10 wenn ich mehrmals abstimmen könnte.
bmike
Sicher, ich bin gut darin, alte Probleme mit akzeptierten Antworten zu exhumieren, die vorübergehend oder dauerhaft nicht mehr zutreffen. Die Zeit wird es zeigen.
Anton Tropashko
Guter Punkt Anton. Wir befinden uns gerade in einer zweiten Phase, in der das MacBook 2015 NVMe-Speicher hatte und nichts anderes, sodass einige Code-bezogene Benchmarks den Mangel an CPU wettmachten und andere nicht. Jetzt, da die MBP über eine NVMe-SSD verfügen, können sie auf ganzer Linie weitaus bessere Benchmarks erstellen. Sechs Jahre nach Ihrem Beitrag hier frage ich mich, ob iPad, iPhone oder eine andere Hardware die Diskussion darüber sein wird, welches Gerät ausgeführt werden soll.
bmike