Does Hardware Assistance make a difference?

The simple answer is a definite yes. However, it's sometimes useful to have a "finger in the air" gauge of how much. I therefore did some very unscientific measurements using my watch to compare timings for some basic functions. Of course, before reading any further, please read and understand the blog disclaimer. This is purely to give you some sort of idea, using beta code.

The experiment involved creating two blank Virtual Machines with 256MB and installing a slipstreamed Windows Server 2003 SP1 from an ISO image using Virtual Server 2005 R2 SP1 Beta 1 64-bit - not production code, hence warning again about the disclaimer. The VMs were default for everything except memory - 127GB Dynamically expanding disk (note the default in VS2005 R2 was 16GB), IDE connected drives, 1 Network adapter, disconnected.

On to physical hardware. Dual core single socket CPU with 2GB RAM and a single SATA disk. The host operating system is Windows Server 2003 x64.

The only difference between the two VMs was that one had hardware assistance disabled, the other had hardware assistance enabled.

I took four measurements for the installation time:

  1. From VM Start to Text Mode installation complete (BIOS screen showing for reboot). During this time, I chose default installation options such as choosing a partition and performing a quick format.

  2. From initial boot GUI following text mode installation to the point at which the "Installing Devices" bar had completed.

    [At this point, you're asked to enter product keys, admin passwords. This is manual hence, removed from any timings.]

  3. From the point at which you choose default options for networking during installation to the first full reboot of operating system and logon screen showing.

  4. Full reboot timing once VM Additions have been installed in each guest (excluding BIOS wait time - from point at which GUI appears)

The results were as follows:

Step With HardwareAssistance(Seconds) Without HardwareAssistance(Seconds) Improvement(Seconds/%)
1: Text Mode Install 236 334 98s=29%
2: Initial GUI Install 167 287 120s=42%
3: GUI Install Completion 733 985 252=26%
4: Boot with additions 10 14 4=29%

Similar results to Ben's findings - under 19 minutes for a full OS install. Now I appreciate much of this isn't a typical workload for a VM, but it gives you an idea how much time you can save during an operating system installation alone by enabling hardware virtualization. 

I also did some screen-shots which demonstrate the differences in overall CPU utilization within the guest at a couple of points during the installation. The graphs generally speak for themselves, even though the exact point at which the snapshot is taken is guaranteed to be slightly different between the two scenarios.

The first is at the point where Windows is "Registering Components"

No Hardware Assistance

With Hardware Assistance

The second is at an estimated 6 mins remaining for the installation while Windows is "Saving Settings"

No Hardware Assistance

With Hardware Assistance

Hopefully useful information! Remember, your mileage may (and will!) vary.
Cheers,
John.