Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Anyone know why qemu is so slow vs. the others?

The article discusses differences in floating point handling and GPU passthrough, but I don't think the 7z benchmark uses either of those.



TCG has historically had more of a focus on accuracy than performance. It lifts a lot of guest architectures to a lot of host architectures, and isn't particularly specialized to any given host cpu type. It lifts many instructions to C helpers instead of bothering to jit them. Last I checked it had no vector -> vector jit. It's also not single address mapped - memory IO undergoes indirection, which is expensive. I think Rosetta for example has a shared address space for the guest and host code. Honestly on 64-bit CPUs, especially with pointer authentication on M1, the risk of the guest accidentally messing with host/jit memory is low.


Possibly because they don't care as much. Until very recently, the heaviest use of qemu was to run hardware accelerated virtual machines on the same architecture. If you're using it with KVM/HAXM/whatever, it is fast. I expect they would be happy to take performance enhancements for emulation, but that it simply hasn't been a priority.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: