6 ms·
> If you ask most people who have familiarity with x86_64, I'm certain they would use a different term than "genius." What term do you think they'd use, and w
by mzarate06 7y ago
> If you ask most people who have familiarity with x86_64, I'm certain they would use a different term than "genius."
What term do you think they'd use, and why?
- amluto 7y agoMostly backwards compatible hack.
- zaarn 7y agoFor a backwards compatible hack it works good enough. And "good enough" usually beats "better".
- kick 7y ago"The reason we're stuck with this shitty fifty year old architecture that's steadily gotten worse through every iteration," "Satan," "Evil Computational War Criminal," a few less nice terms. If you ask a Sun employee: "Enemy #1." Less sarcastically: "slightly above average." x86_64 is a nightmare, and we're a decade behind where we could be because it was what the industry settled for.
- tux1968 7y agoWhere could I read more about this analysis? Genuinely interested to understand how x86_64 is such an albatross and more details about what could be accomplished in its absence.
- kick 7y agoPrevious HN thread on (some of) the failures of x86 itself (it notes that most of this is not solved with x86_64): https://news.ycombinator.com/item?id=276418 https://news.ycombinator.com/item?id=276418 There's plenty of criticism of CISC in general, but that gets into flamewar status. A lot of modern abstraction, vulnerabilities and inefficiency can be summed up with "x86_64 sucks to write for, so let's build a new (or recreate an old) abstract machine!" In its quest to maintain fifty years of (near) compatibility with an architecture originally used in a calculator, the industry created a monster. There's a reason Apple (and Sun and MIPS before it) was able to get competitive with Intel's chips despite only getting a silicon team like half a decade ago and using an architecture generally seen as low-performance: they ruthlessly removed cruft, cutting ties with backwards compatibility in the process. Backwards compatibility is a scourge unto innovation and ease of use, as even Intel saw (IA64, for all of its faults, was better than x86_64 in virtually every way). I have a lot more criticism of x86_64, and can get a lot more technical in that criticism, but this comment is already getting a bit on the heavy side.
- sharpneli 7y agoIA64 had a glaring fault that trumps all of it’s advantages. It was explicitly a vliw design, so the user had to, or compiler, manually set multiple different kind of ops per single instructions. Modern superscalar OoO is pretty much like that, except there is a piece of hardware internally that does it, almost like a hardware jitter. This freedom both means the magical compiler doesn’t have to exist but also it allows processors to have varying amount of execution units. See that you could actually use one more int alu? Just add it and even older software is able to automatically get the benefit.
- nl 7y agoIronically the link you posted supports the opposite view: that x86_64 is ugly but that isn't really an issue. Quote: in summary: x86 is ugly (and below is why I think so) but we don't care because compilers enable us to just forget about what ISA we're using. This is a good thing. This is the way it should be. But it's also an example of what the OP was talking about -- bad hardware design (in this case the x86 ISA; the actual hardware is quite good) not mattering because software is sufficiently good
- CamouflagedKiwi 7y agoThat seems extremely unlikely. If a new architecture could offer that much advantage (a decade is massive in this space) surely there'd be some pressure to move. One could easily imagine Apple moving to ARM, for example. Unfortunately, I think a much more likely situation is that x86 (/64) is only slightly hobbling things, and Intel are easily able to push past that with technical craftiness. As in many other cases, implementation trumps theoretical design.
- kick 7y agoApple is moving to ARM, the most recent iPad Pro outperforms its laptop line (last I saw, at least), they've spent a fraction of what Intel, AMD, and VIA have invested into x86_64, and basically every major Apple leak mentions that they're investigating moving the Mac line to ARM in a generation or two. A new architecture can offer that much advantage; x86_64 wasn't even the third most-performant implemented ISA when it was released, and every other ISA makes gains far faster than it. SPARC and POWER are still competitive with it despite having 1/1,000,000th the amount invested in them, and in just a few years and with comparatively nothing invested into it, RISC-V is starting to rival a portion of the chips (though not the upper line of them yet). It "won" because of backwards compatibility, nothing more.
- CamouflagedKiwi 7y agoThat's just not the case; Apple were already well behind in performance at the point x86_64 came out, due to them being stuck on POWER. They actively moved to x86, despite big compatibility issues, because of how much better they were. The evidence is that architectures are just not as important as all that. x86 is clearly pretty bad in many ways, but clever tricks and microcoding have been able to overcome those issues.
- kick 7y agoThat's just not the case; Apple were already well behind in performance at the point x86_64 came out, due to them being stuck on POWER. They actively moved to x86, despite big compatibility issues, because of how much better they were. This is a complete misinterpretation of the above comment.
- nl 7y agoAmusingly we can compare it with a clean design that was supposed to replace x86: Itanium. That had the full weight of Intel and partners behind it and was such a flop that it's been completely ignored in this thread. X86_64 is genius because it is the perfect example of the art of the possible. It drove SPARC into irrelevance, forced Intel to adopt it instead of Itanium and drove PowerPC out of consumer computers. I'd love to have a nightmare like that on my resume.
- kick 7y agoI was going to mention Itanium, but didn't want to go through the "But Itanium was terrible!!!!!" flamewar that happens every time it gets brought up.