VMWare Fusion Performance Test

Today I did some testing on the performance of VMWare Fusion 3.1 regarding whether to use a 32-bit or a 64-bit guest system on a 64-bit host system. For the test I used:

  • Machine: MacBook Pro 15” early 2010
  • CPU: Intel Cor i5 2.4 GHz (Dual Core; 64-bit CPU)
  • RAM: 4 GB 1067 MHz DDR3
  • OS: Mac OS X 10.6.5 (with all updates)
  • VMWare: VMWare Fusion 3.1.2 (332101)

For the testing I shut down all applications (that could be shut down) except for:

  • VMWare Fusion (of course)
  • Terminal
  • TextWrangler

I also disabled Spotlight indexing for the duration of the test using (in Terminal):

$ mdutil -a -i off  # use "-i on" to reenable indexing

For testing I used an Ubuntu 10.04 Server Edition Linux either in the x86 (32-bit) and in the x64 (64-bit) version. Each version got one CPU and 512 MB RAM assigned (default values). I installed all updates (as of 2010-12-17) and also installed the packages “psmisc” and “bc”. The kernel version was 2.6.32-26. The VMWare Tools were not installed.

I then started VMWare Fusion (Virtual Machine Library only for now), and then called “purge” in the Terminal to free all inactive, unused memory for more correct information on how much memory is actually free. I then ran “vm_stat” (in Terminal), started the virtual machine, and ran “vm_stat” again to get the amount of memory actually used by the virtual machine.

Inside the virtual machine (i.e. in Ubuntu) I stopped cron and rsyslog to prevent them from interrupting the test, determined the free disk space (df -h) and the free memory (free -ok), and then calculated Pi with 3000 digits:

$ time echo "scale=3000; 4*a(1)" | (bc -l >/dev/null)

The results of the comparison can be found in the table below:

32-bit 64-bit Difference on 64-bit
Time to calculate Pi: 9.585s 8.823s -7.9%
Memory consumption on the host system (MacOS): 482.3 MB 648.2 MB +34.4%
Total/Used/Free memory in the guest system (Ubuntu): 496.96 MB / 35.22 MB / 461.74 MB 493.62 MB / 126.89 MB / 366.73 MB +260.3% (used only)
Disk usage in the guest system (Ubuntu): 560 MB 581 MB +3.8%


  • CPU speed: A 32-bit guest system on a 64-bit host system runs slower than a 64-bit guest system.
  • Memory consumption: 64-bit guest systems require significantly more memory on the host system and on the guest system. In fact on the guest system the memory consumption seem to tripple (for some unknown reasons).
  • Disk usage: As expected, disk usage is higher on a 64-bit system , but only slightly.

Conclusions: If memory consumption is an issue on your system (i.e. if you have not so much memory), then select a 32-bit guest system. It’ll be slightly slower but also consume less memory. If memory consumption is not an issue, select a 64-bit guest system.

Magic Numbers

Unter einer sog. “Magic Number” versteht man in der Informatik eine bestimmte Folge von Zeichen, die den Typ einer Datei angeben. So finden sich z.B. in jedem JPEG-Bild ganz am Anfang der Datei die Zeichen “JFIF” (JPEG File Interchange Format).

Auch Java Class Dateien haben eine solche Magic Number. Es sind die ersten 4 Byte der Datei. Aber habt ihr euch die schon mal in Hexadezimal-Schreibweise angesehen (siehe Bild)?



Ich hab beim MfG diese tolle Seite mit lustigen Quellcode-Kommentaren gefunden.

Mein Favorit ist dabei folgender Kommentar:

// Dear maintainer:
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
// total_hours_wasted_here = 16

Viel Gefährt…

Die Landeshauptstadt Magdeburg – Knotenpunkt im Raum-Zeit-Kontinuum. Deshalb haben wir auch immer einen vollen Fahrplan, wie dieser Fahrstandsanzeiger für Gleis 5 des Magdeburger HBFs beweist.


Für die, die sich fragen: Es ist die einzige Tafel auf diesem Bahnsteig – daneben hängt keine weitere.

Update: So sieht der – nur so zum Vergleich – übrigens in Hannover aus.