zarx said:
OoOE basically trades execution performance for a smaller performance hit on complex or less optimized code (games especialy on consoles tend to use little of ether), and systems slower RAM. Code optimized for in order execution should still better optimized period as you will still get fewer cache misses etc which you still don't want on an OoO CPU it's just not as big a deal when it happens. OoO CPU cores are more complex (in terms of hardware) and are inherently slower thanks to the longer pipelines etc that are needed. And some errors when tasks that need to be executed in a certain order aren't do come up, but a good compiler and some code tweaks that most multithreaded code would need anyway should minimise those. That is how it was always explained to me anyway, and it has been a while since I really looked into it tho (I did do some quick fact checking while writing this post). And I never got close to programing anything complex enough for me to actually need to think about it ether. |
i think that ibm mainly offers the compilers and not nintendo ;) they have more knowledge in compilers and know quite good what their cpu should be used like. the rest is well written.