On 16 Apr 2010, at 18:48, Patrick Kelly wrote:
The only emulator you're spending time on is Qemu, the rest are
virtualizers or simulators, and there is a significant difference.
Emulators are much slower, because of what they have to do.
Qemu is capable of full emulation, but when host & guest
architecture match (or are compatible, e.g. x86_32 guest and x86_64
host)
it's a virtualizer. Given x86 on x86, there is a world of
difference between Bochs's performance and Qemu's.
It's mostly full and not completely accurate.
I don't use Qemu so this may be wrong, but I was under the
impression Qemu was an emulator unless you used kqemu, and then it
lost emulation capability's.
It can virtualise better with kqemu or kvm, but... well, perhaps I
should say what I know rather than try to categorise. Take 3 set-ups.
A: arm guest, x86 host. Full emulation, kqemu cannot be used. B: x86
guest, x86 host without kqemu. C: x86 guest, x86 host with kqemu.
There is a much bigger performance gap between A and B than between B
and C.
Qemu's display is slow, whatever other factors exist. Drawterm to a
qemu cpu server is very much faster. I can't speak for disk IO
except to say it seems fast under my light usage.
Also, to nit-pick, don't all virtualisers emulate peripheral
hardware?
For peripheral hardware, emulators and virtualizers are mostly the
same, but that isn't the main reason most people use them, it's
about the execution environment, which involves how the CPU is
handled. Seeing as you didn't bring up a single full system
emulator, I doubt you care more about peripherals.
*nods* Not a big point for me right now.
--
Simplicity does not precede complexity, but follows it. -- Alan Perlis