GCD estimates the runtime of an appropriate level of resources much better to solve the problem - OpenMP decides how many threads will be called for a set of concurrent tasks based on information such as environment variables. GCD considers the current system load and the number of available cores and allows you to start the corresponding number of threads - scaling and vice versa when changing resources in real time. This means that the GCD program should get the best results in the general case. Of course, if you bought a cluster of specialized boxes for running code, then this is a moot point, because there will be a little more conflict with your code.
user23743
source
share