Running a ray tracing program as a single thread on an iMac quad-core processor the CPU utilisation is 12%. OK so one of the Intel hyper-threads has been 100% allocated to the process. When GCD is used the program completes in a quarter of the time, but is consuming more than 90% of the processor availability. It would appear that all eight of the iCore HTs have been allocated to the process. So why does the app only run four times faster and not eight times faster?
Grand Central Dispatch efficiency
parallel programming