5 Stimmen

Warum sollte ich Grand Central Dispatch statt OpenMP verwenden?

Apple hat Grand Central Dispatch (einen Thread-Pool) in Snow Leopard eingeführt, ist aber nicht darauf eingegangen, warum man es gegenüber OpenMP verwenden sollte, das plattformübergreifend ist und auch unter Leopard funktioniert. Sie sind beide ziemlich einfach zu benutzen und sehen von den Fähigkeiten her ähnlich aus. Also, irgendwelche Ideen?

7voto

OpenMP entscheidet auf der Grundlage von Informationen wie Umgebungsvariablen, wie viele Threads für eine Reihe von parallelen Aufgaben aufgerufen werden sollen. GCD betrachtet die aktuelle Systemauslastung und die Anzahl der verfügbaren Kerne und erlaubt die Ausführung einer angemessenen Anzahl von Threads, wobei die Skalierung nach oben und unten erfolgt, wenn sich die Ressourcennutzung in Echtzeit ändert. Das bedeutet, dass ein GCD-Programm im Allgemeinen bessere Ergebnisse erzielen sollte. Wenn Sie einen Cluster von dedizierten Rechnern gekauft haben, um Ihren Code auszuführen, ist dies natürlich irrelevant, da Ihr Code kaum mit anderen Systemen in Konflikt geraten kann.

2voto

Jetzt, da GCD als Open Source verfügbar ist, müssen wir beide Tools nebeneinander stellen und sehen, wer am Ende überlebt.

0voto

Justin Niessner Punkte 235353

Leistung und Integration auf Betriebssystemebene?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X