Hacker News new | ask | show | jobs
by Sohcahtoa82 648 days ago
I think it's all about being realistic.

We made leaps and bounds before because clock speeds were going up 50% or more between generations. Add in architecture improvements and it was easy to see actual performance double from one generation to the next.

But we're struggling to get clocks faster now, and I always imagined that it's because the speed of electricity isn't fast enough. At 6 Ghz, in one clock cycle, light travels only about 6 inches/15 cm. Electricity moves slower than the speed of light, depending on the medium it's going through. At the frequencies we're operating at, I figure that transistor switching speed and clock skew just within the CPU can start to be an issue.

We already have tons of CPU optimizations. Out-of-order execution, branch prediction, register renaming, I could go on. There's probably not much more we can do to improve single-threaded performance. Every avenue for optimizing x86 has been taken.

And so we go multi-core, but that ends up making heat a primary concern. It also relies on your task being parallel.

Or we go ARM, but now some of your software that has had x86-specific optimizations like using AVX-512 has to be rewritten.