QEMU, VirtualBox, WINE, Cedega, Crossover – which one is the fastest ?

Well, these five apps could run Windows applications. Still, there are differences among them and each has pros and cons for a particular applications.

QEMU and VirtualBox uses virtualization technique, you need to install a full OS inside the VM, so they should give you the best compatibility. This means there are much more layers of API/libraries/vm to pass through before an application could actually grab (physical) CPU to run and this may be slower. WINE, Cedega, and Crossover are a kind of WinAPI implementations. They reverse engineer those WinAPI and rewrite to run on Linux. This technique allows Windows applications to run at near native speed, but this may not be 100% compatible. Some application may not be able to run at all.

Particularly, Cedega is good for 2D/3D games because of its advances in DirectX API implementation while Crossover focuses mainly on office and productivity applications such as MS Office, MS Outlook, IBM Lotus Notes, and Adobe Photoshop. Anyway, benchmark would also be a good idea for comparisons. I’d also like to investigate myths/rumors saying that QEMU is faster than VirtualBox, Cedega is faster than QEMU, etc. etc.

Setup

First, the VM

  • QEMU 0.9 + kqemu 1.3.0pre11
  • Innotek VirtualBox 1.4.0
  • WINE 0.9.38
  • Transgaming Cedega 6.0.1
  • Codeweaver Crossover 6.0

For QEMU and VirtualBox, they run MS Windows 2000 in the VM with 256 MB of memory and 800×600 24 bit display. WINE, Cedega, and CX emulates equivalent version of MS Windows and display. The native machine is Apple MacBook Core 2 Duo 2.0 GHz + 1 GB RAM with 2.6.21.5-mactel.

CPUMark 2.1

A freeware to test CPU speed, memory, integer, and floating-point operations (# – more is better).

Registry FPU Integer Score
QEMU 1050.4 406.6 6302.5 5787.5
VirtualBox 1050.4 413.3 6302.5 5792.8
WINE 1008.4 450.2 6302.5 5805.5
Cedega 1008.4 413.3 6302.5 5776
Crossover 1050.4 434.7 6302.5 5809.9

Wintach 1.2

Some recent video benchmark, like 3DMark, cannot run. The two VMs do not support Direct3D just yet. WINE, Cedega, and Crossover do not even install those benchmark. So, I find older benchmark.

Wintach is very old application – lived in MS Windows 3.x era. It attempts to score display speed by emulating displays of word processors (font change, text scroll, text replace, etc), CAD/Draw (vector drawing, zoom, scroll), spreadsheet (table scroll), and paint (bitmap operations). Cedega cannot run Wintach properly, so the results are not available (# – more is better).

Word Processor CAD/Draw Spreadsheet Paint Overall
QEMU 67.5 303.18 370.12 233.53 243.58
VirtualBox 159.37 3144.28 1684.21 1827.93 1703.95
WINE 387 2975.43 1698.28 1124.81 1546.38
Cedega n/a n/a n/a n/a n/a
Crossover 365.16 2533.4 2150.06 1079.15 1531.94

Linux

For QEMU and VirtualBox, I also try nbench and hdparm, compared to the native (# – more is better).

Numeric Sort String Sort Bitfield FP Emulation Fourier Assignment IDEA Huffman Neural Net LU Decomposition
QEMU 963.2 107.16 3.740E+8 85.8 24732 18.78 2638.7 1145.8 22.287 1202.6
VirtualBox 1017.3 109.92 4.016E+8 89.72 25226 19.181 2745.4 1185.8 34.986 1268.9
Native 885.28 117.36 4.046E+11 140.52 22535 30.052 4349.6 1843.1 34.717 1331.8
hdparm -t (MB/s) hdparm -T (MB/s)
QEMU 21.78 1180.85
VirtualBox 21.94 3039.81
Native 33.78 2201.02

Finally

Note that every benchmark has limitations and the results may completely be useless. Since I don’t know what those applications and benchmarks actually do, I cannot give any comment or explaination why they produce such results. I just put them to the tests, give you the results, and you decide whether those results are useful. :)