3 ms·
Why did that cause problems? It made particular things way slower, I guess?
by glhaynes 8y ago
Why did that cause problems? It made particular things way slower, I guess?
- mattnewport 8y agoIt made many things slower than you would expect. There was a much bigger gap between the theoretical performance the hardware was capable of and the real world performance of typical code people were used to writing or had in their existing codebases. There was also a much bigger gap between performance of a debug build and release build than people were used to, to the extent that debug builds could be completely unplayable. Generally you paid a significantly higher penalty for branching and for cache misses than people were used to and that meant changing the way you designed and wrote code. The cost of things like if statements, function calls, virtual function calls and jumping around in memory were relatively much higher than people were used to. There were also some particular quirks of the hardware that compounded these problems and made certain things usually considered cheap or even optimizations very expensive like converting between floats and ints, shifting by non constant amounts or mixing SIMD code with traditional floating point.
- mrpippy 8y agoInteresting, I never considered how different the CPUs were (despite implementing very similar ISAs). The G5 was 2x2.0 GHz with OoO, Xenon was 3x3.2 GHz with 2-way SMT and no OoO