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. :)