Question

Apple a introduit Grand Central Dispatch (un pool de threads) dans Snow Leopard, mais ne sont pas allés dans la raison pour laquelle il faut l'utiliser sur OpenMP, qui est multiplateforme et fonctionne également sur Leopard. Ils sont tous les deux assez facile à utiliser et se ressemblent dans la capacité. Alors, des idées?

Était-ce utile?

La solution

GCD est beaucoup mieux à l'évaluation de l'exécution du niveau approprié des ressources à jeter à un problème - OpenMP décide combien de fils d'invoquer pour un ensemble de tâches parallèles basées sur des informations comme des variables d'environnement. GCD regarde le système actuel de charge et le nombre de cœurs disponibles et permet un nombre approprié de threads à exécuter - mise à l'échelle et en arrière que les changements d'utilisation des ressources en temps réel. Cela signifie qu'un programme de GCD devrait obtenir de meilleurs résultats dans le cas général. Bien sûr, si vous avez acheté un cluster de boîtes dédiées pour exécuter votre code, cela est sans objet, car il y aura peu d'autre pour votre code en conflit avec.

Autres conseils

Maintenant que GCD est open source, il est question de mettre les deux côtés outils côte à côte et voir qui vit à la fin.

Performances et OS Niveau d'intégration?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top