VirtualBox was mentioned at Slashdot so I gave it another try. The last time I tried it I had problems with FreeBSD as a guest, but the new version (1.6.2) seems to solve those problems. It’s noticeably faster than VMWare so far:
UnixBench results of running FreeBSD 7.0-RELEASE in VirtualBox (i386) on Windows XP host are:
TEST BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 6484818.8 555.7
Double-Precision Whetstone 55.0 1644.1 298.9
Execl Throughput 43.0 271.3 63.1
File Copy 1024 bufsize 2000 maxblocks 3960.0 101938.0 257.4
File Copy 256 bufsize 500 maxblocks 1655.0 48434.0 292.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 150300.0 259.1
Pipe Throughput 12440.0 908613.9 730.4
Pipe-based Context Switching 4000.0 15755.6 39.4
Process Creation 126.0 670.0 53.2
Shell Scripts (8 concurrent) 6.0 79.5 132.5
System Call Overhead 15000.0 714570.9 476.4
FINAL SCORE 199.3
This is too good to be true, compared to what I got on the same hardware in VMWare previously (in short: a score of 70). The results above (and all other unixbench results) should really be analyzed line by line instead of just looking at the final score. For example, notice that the “shell scripts” score is 133 on VirtualBox and 1.7 in VMWare. Context switching has always been VMWare’s weak point and it looks like it doesn’t really have to be that way.
Now I only have to figure out if it can be used “headless” (without the GUI console). VMWare’s network support is much better because it can to “bridged” networking, putting the VM directly on the network, but setting up routing or bridging for VirtualBox is simple enough (like qemu).
Update: buildkernel finishes without problems but it takes 40 minutes – I think this is way too slow but will investigate tomorrow.