6
votes

Temps de compilation Xcode: quelle configuration Mac offre les meilleures performances remarquables?

J'ai examiné les différentes configurations de Mac disponibles: MacBook Pro, iMac et iMac Pro.

Les énormes configurations de par exemple l'iMac Pro (Xeon, 18 cœurs, etc.) accélère sensiblement les temps de compilation Xcode? Ou ces spécifications sont-elles adaptées au montage vidéo?

Aussi si je compare

  • Processeur Intel Xeon W 8 cœurs à 3,2 GHz
  • Processeur Intel Core i7 quadricœur 4,2 GHz

plus de cœurs, moins de GHz ou l'inverse? Qu'est-ce qui est le plus important pour les performances de compilation Xcode - les cœurs? Processeur? Ghz?


2 commentaires

Les performances de compilation sont principalement affectées par votre code. Votre architecture, le nombre de dépendances entre les fichiers, l'utilisation de private , le fractionnement du code en modules indépendants etc. Un meilleur matériel aidera toujours mais l'architecture du code affectera beaucoup plus les temps de construction.


Quel est votre langage de programmation? AFAIR swift a / a eu des problèmes avec la compilation parallèle - un seul noyau était / est utilisé. Il était donc (et est peut-être toujours) préférable d'avoir un CPU avec des horloges plus élevées qu'un CPU avec plus de cœurs.


3 Réponses :


0
votes

Une vitesse d'horloge plus élevée permet d'exécuter plus de processus dans un laps de temps donné. Alors que plusieurs cœurs permettent un traitement parallèle. Cependant, les avantages ne sont pas doubles, car tout ne pourra pas fonctionner en parallèle pendant tout le temps.

4 cœurs sonne comme beaucoup. Vous pourriez peut-être aller à 6 et être en mesure de le justifier, mais 8 serait exagéré et un gaspillage d'argent. Une vitesse d'horloge plus élevée sera beaucoup plus utile et serait beaucoup plus utile lors de l'utilisation de l'ordinateur pour d'autres tâches également. De plus, en ce qui concerne le type de processeur, ils n’ont pas trop d’importance. Tant que vous obtenez les performances, la mise en œuvre importe peu par rapport aux autres métriques.

< gagnantModifier

Il est également important de prendre en compte les vitesses Turbo Boost. Cela permet à un processeur de fonctionner à une vitesse d'horloge inférieure, lorsque des tâches non intensives sont en cours d'exécution, afin d'économiser de l'énergie. Pour les tâches intensives, ce sera la vitesse Turbo Boost que vous obtenez. Ceci est géré automatiquement par macOS, mais peut être contrôlé manuellement à l'aide d'une application telle que Sélecteur Turbo Boost .

Pour le Quad-Core i7, il a un Turbo Boost de 4,5 GHz, tandis que le 8 Core Xeon a un Turbo Boost de 4,2 GHz. Cela les rend beaucoup plus proches en termes de vitesse d'horloge. Cependant, le i7 bat toujours le Xeon en termes de vitesse d'horloge pure et simple. Il le bat également en termes de vitesse normale, ce qui bénéficiera d’autres tâches exécutées sur l’ordinateur, et aidera avec tout «turbo lag», s’il est géré par le système. Enfin, il a également un avantage supplémentaire de battre le Xeon sur le prix. Cela signifie que pour la compilation et d'autres tâches Xcode, l'i7 est un gagnant clair.


2 commentaires

donc cela parlerait pour le «4,2 GHz Quad Core»?


@swalkner Comparé au 3,2 GHz 8 Core Xeon, oui



3
votes

C'est super facile. Xcode utilise la puissance du processeur pour compiler les tâches. Formule de spécification du processeur: **

3,2Ghz * 8 cores = 25,6 Ghz
4,2Ghz * 4 cores = 16,8 Ghz

** Pour répondre à votre question, le plus important pour les performances de compilation Xcode est la puissance du processeur. Le premier processeur, basé sur xeon, sera beaucoup plus productif pour la routine xcode. Utilisez cette formule. p.s. Ma réponse est basée sur l'hypothèse que les deux processeurs ont la même production ou presque la même année. Il est également important de prendre en compte la jeunesse du processeur. Pour être sûr à 100%, vérifiez vos processeurs sur Geekbench


7 commentaires

Il utilise également la mémoire et le disque, alors pourquoi n'est-ce pas un facteur?


donc selon votre calcul, le 3,2 GHz / 8core devrait être BEAUCOUP plus rapide? Est-ce que ce calcul est vraiment aussi simple que cela, je veux dire - Xcode tirerait-il également parti de 16 ou 18 cœurs?


@swalkner oui, normalement si vous choisissez le dernier processeur qui aura plus de cœurs et sera plus productif en utilisant cette formule, ce processeur battra la course.


@ swift2geek donc les deux réponses actuelles sont exactement le contraire: je comprends celui-ci que le 3.2 * 8 est beaucoup plus rapide, l'autre réponse dit que le 4.2 surpasse le 3.2 ...


Ce serait super facile si OP utilisait un compilateur avec de bonnes capacités de parallélisation. Ce n'est pas toujours le cas.


Comme il y a plusieurs étapes dans le processus de compilation, même si chaque étape a été optimisée pour un nombre illimité de cœurs, le plein bénéfice de tous les cœurs ne peut pas être obtenu, ce qui réduit la vitesse d'horloge "totale". Il y aura des cœurs gaspillés / redondants.


Votre réponse suppose que la compilation peut être divisée en autant de processus que de cœurs sont disponibles et que ces processus peuvent être exécutés simultanément à près de 100%. Pourquoi cela devrait-il être le cas? Tant que vous ne répondez pas à cela, désolé, je pense que votre réponse appartient à "Chaque problème complexe a une réponse super facile, ce qui est faux".



-1
votes

Je vous suggère de prendre le i7. (Si les deux processeurs ont la même date de sortie, prenez toujours la date de sortie la plus récente)

Si vous comparez les performances du processeur, vous devez savoir à quoi sert ce processeur. Intel Xeon est un processeur serveur et Intel i7 est un processeur PC haut de gamme.

Lorsque vous comparez le processeur quadricœur Intel Core i7 4,2 GHz et le processeur Intel Xeon W 8 cœurs 3,2 GHz pour une seule application, la réponse est simplement i7. Le processus de construction Xcode ne peut prendre qu'un seul cœur complet avec la mise en parallèle de certains de ses processus informatiques dans un autre cœur.

Le 8-Core Xeon sera mieux utilisé pour exécuter un processus informatique comme le fait un serveur.


0 commentaires