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?
Hyper threading is weird. If you have a four cores + hyper threading Mac, then you have four cores that can either run one thread at 100% speed, or two threads at 60% speed (if you are lucky). That should be enough info to do the maths.
If you use a laptop, then your clock speed is limited by heat. So you might be able to use one core at 3GHz forever, but if you use four cores then the clock speed might be reduced to 2GHz after some time to limit the heat produced. Take that into account as well.