|
|
|
|
|
by da-x
37 days ago
|
|
> Elevator achieves performance on par with or better than QEMU's user-mode JIT emulation. I am not sure what QEMU's JIT is doing (in its userspace wrapper), but I think it has a lot of room to improve. In 2013 I wrote a x86-64 to aarch64 JIT engine that was able to run what was then Fedora beta aarch64 binaries and rebuild almost the entire aarch64 port of Fedora on a x86_64 Linux. I also made a reverse aarch64 to x86-64 JIT that worked in the same way, and for fun I also showed the two JITs managing to run each other in a loop back fashion: x86-64 -> aarch64 -> x86_64 in the same process. The JIT I devised did a 1-to-many instruction and CPU state mapping with overhead that was somewhat 2x to 5x slower than what would be expected to native recompiled code. I later compared this with QEMU's JIT which seemed more in the range of 10x to 50x slower. Unfortunately this was not under a open source license settings, so no code release to prove it.. :( |
|