I'm not sure if you really have any problem here.
Actually here is common mistake made by a lot user that are not into programming.
GPU rendering is NOT faster than a CPU rendering, GPU rendering is SOMETIMES faster than CPU rendering, depending on the rendering algorithm it's used and your graphic card your OS the pipeline etc...
Blender don't use the classic graphic pipeline that the graphic card are design for (they use raytracing instead of rasteriser) so from this point all is about how fast and efficient are every computation.
A little technical explanation:
GPU programming is one of my favourite topic in computer science so I will try to keep it simple.
Actually CPU is A LOT faster than a GPU for one computation (it's like comparing a smartphone with a desktop CPU, really) and GPU love making all at same time (that why you can use Shift+Z in cycle).
Basically if computations are not dependant between them GPU win.
-> So usually the problem is more you have dependency between computations slower it will be on the GPU.
What I think for your benchmark:
You use some shader/material/effect that make dependency between computation or make the GPU wait for some synchronisation and make you GPU render less efficient...
So blender has some optimisation problem ? No, if GPUs were just more efficient than CPU what is the point of keeping CPU ? No it's just a trade, you just have to know what you want to do with your scene (render optimisation you know...). Btw that's why blender keep CPU rendring...
The GPU is really better when you want real time using a lot a tricks that use parallelism a lot. that's also why a PS4 has 1.6 GHz but with 8 cores (for parallelism again) but that's an other story
-> You really have to keep in mind I just THINK this is the problem I don't have your scene to deeply test it or trying track which effect/shader/material take time.
Hope that help. =)
Even if what I said is true I said also "I just THINK this is the problem" and in fact I've just tested your scene and checked this thread:
On my AMD AMD A8-5550M APU with Radeon(tm) HD Graphics Processors (AMD Radeon HD 8550G) with my gentoo kernel 3.17.8-r1 and proprietary driver fglrx 14.12-r3, I have:
- GPU: 5:54:54
- CPU: 17:09:73
which is a pretty huge gap...
So now look at the thread, for OSX you have 2 type or person:
- GPU-> not supported
- GPU-> slower
So the scene is obviously GPU optimised and what I said before is not the real problem here.
The thing you have to know is OSX has a lot of problem with his graphics drivers (for exemple if you try openGL you are stuck with openGL 3.3). From here what I think is your render time difference is due to Apple's drivers.
I don't work for blender or Apple so I am not 100% sure but from I see here the problem seems obviously coming from Apple. To be really sure I will make some test on the Mac of my room-mate soon.
PS: I'm really surprised the graphics driver from Apple was that bad, I thought it was just "bad" not "really bad"