3 ms·
Honestly at this point I don’t even really understand the difference between emulation and translation at the app level. My intuition is that “emulation” gener
by olliej 6y ago
Honestly at this point I don’t even really understand the difference between emulation and translation at the app level.
My intuition is that “emulation” generally means an entire system rather than individual apps running on a system?
- kissiel 6y agoWith translation the cod will be translated before it starts running. With emulation it's more like a VM, where each instruction run is translated to the other archs counterpart. In other words, consider an imaginary program that has one big loop. Let's say it has 100 instructions. With translation you get another program with some instructions of the similar size (same order of magnitude). With emulation you interpret each instruction as it goes, so if your loop has 1B iterations you pay the penalty of emulating (converting on the fly) 1B times (very simplified). So translation is better for performance.
- ch_sm 6y ago"Emulation" usually means reconstructing the hardware of a specific architecture in software (See BSNES for a good example). Rosetta translates binary code of an app from one instruction set to another.