It’s beyond my mind that x86(-64) survived to this day. It’s so inefficient
Edit: to clarify: I know nearly nothing about processors, so maybe the architecture isn’t really that inefficient. All I know is that after Apple switched to its own ARM-based chips, the programs could run faster using the same or less energy. Even with the compatibility later
This is one that way too many people forget about, to switch to something else, you’d need to emulate x86 for the software that hasn’t or do without. Emulation causes overhead and performance reduction, and doing without seems fine on paper until you encounter software you want or more crucially need and can’t use it because it hasn’t been ported, isn’t open-source, or can’t be ported due to heavy use of x86 assembly.
On the other hand, nobody ever will fix, update, or port many pieces of software if backwards compatibility is expected to be kept up indefinitely.
I’m frankly not sure which is better. Do it the apple way, force projects to make their software work on modern platforms, and just accept that some people will really be fucked over for the sake of progress. Doesn’t sit right with me, but on the other hand things can’t keep being compatible forever.
It’s efficient on a macro scale. Imagine if every piece of software on the planet had to be recompiled and tested for each flavor of the month risc processor?
It’s beyond my mind that x86(-64) survived to this day. It’s so inefficient
Edit: to clarify: I know nearly nothing about processors, so maybe the architecture isn’t really that inefficient. All I know is that after Apple switched to its own ARM-based chips, the programs could run faster using the same or less energy. Even with the compatibility later
Well, legacy compatibility.
This is one that way too many people forget about, to switch to something else, you’d need to emulate x86 for the software that hasn’t or do without. Emulation causes overhead and performance reduction, and doing without seems fine on paper until you encounter software you want or more crucially need and can’t use it because it hasn’t been ported, isn’t open-source, or can’t be ported due to heavy use of x86 assembly.
On the other hand, nobody ever will fix, update, or port many pieces of software if backwards compatibility is expected to be kept up indefinitely.
I’m frankly not sure which is better. Do it the apple way, force projects to make their software work on modern platforms, and just accept that some people will really be fucked over for the sake of progress. Doesn’t sit right with me, but on the other hand things can’t keep being compatible forever.
It’s efficient on a macro scale. Imagine if every piece of software on the planet had to be recompiled and tested for each flavor of the month risc processor?
Eh, the backend’s pretty decoupled from the ISA, it’s the frontend of these chips that’s needlessly complicated.