inefficient
Veteran
london-boy said:I mean of course In-Order CPUs are slower than Out-Of-Order when running code written for Out-Of-Order CPUs!
Just in case it has not been repeated enough. There is no such thing is code written for "Out-Of-Order CPUs." Both CPUs run the same code. Being able to execute out of order is an OPTIMIZATION!
They run exactly the same code, the OO cpu will just be slightly less senstitive to BAD code.
Even if you tuned the hell out of your code so that it would run well on a in order CPU. The same code would still run far far faster on the CPU that could execute Out of Order.
The ONLY reason why these console cpus are not OO is to save transistors.
Less transistors = Smaller core = cheaper to make + less heat dissipated + higher clock speeds possible.
They traded off a very good optimization technique, to improve clock rate and make room for a few more cores.
Realtime code, like the game's 3D renderer, is already going to have been highly optimal. Especially when written by an experenced programmer like carmack. When carmack says his code is running at 1/2 the speed on an in order CPU, its not because he "has not optimized it" for in order use. It is simply because In Order CPUs are slower period.
And this is no shocker. Both MS and Sony knew this. But they are hoping that giving developers several slow CPUs will be able to give a better price/performance ratio than a single fast CPU. And theoretically, this should be possible. But in reality, some people disagree, including carmack apparently.