2009-09-02 19 views
5

Apple presentó Grand Central Dispatch (un grupo de subprocesos) en Snow Leopard, pero no ha explicado por qué uno debería usarlo sobre OpenMP, que es multiplataforma y también funciona en Leopard. Ambos son bastante fáciles de usar y tienen una capacidad similar. Entonces, ¿alguna idea?¿Por qué debería usar Grand Central Dispatch en vez de OpenMP?

Respuesta

7

GCD es mucho mejor en la evaluación del tiempo de ejecución del nivel adecuado de recursos para resolver un problema: OpenMP decide cuántos hilos invocar para un conjunto de tareas paralelas basadas en información como variables de entorno. GCD analiza la carga actual del sistema y la cantidad de núcleos disponibles, y permite que se ejecute una cantidad adecuada de subprocesos, escalando y retrocediendo a medida que el uso de los recursos cambia en tiempo real. Eso significa que un programa de GCD debería obtener mejores resultados en el caso general. Por supuesto, si ha comprado un grupo de cajas dedicadas para ejecutar su código, entonces esto es discutible porque habrá poco más para que su código entre en conflicto.

0

Rendimiento e integración de nivel de sistema operativo?

2

Ahora que GCD ha sido de código abierto, se trata de poner ambas herramientas una al lado de la otra y ver quién vive al final.

Cuestiones relacionadas