We are looking into virtualizing our C++ Build server(s).
The main reason being that our current toolchain that we use in addition to the build itself in Visual Studio only runs properly on Windows XP (or 2003Server), and the secondary reason being administrative ease (just clone an image and be ready to run on a different HW.
In the end, the setup would/should most probably be one VM per hardware box, because sharing hardware just doesn't make sense for a C++ build, because it will max out CPU and disk anyway.
A colleague has done some preliminary tests on his developer workstation, and they're just horrible:
He measured the following build times for a full build of our Visual C++ 8 (Visual Studio 2005) solution:
- Desktop/Native with Windows 7 : ~16 min
- Vmware Workstation with virtual disk, guest is Windows XP : ~1h21min (500% !!!)
- Vmware WS with direct access to a dedicated physical disk and limited to 4 cores : ~42min (260% !!)
With these timings, we certainly won't go virtual!
We're now asking ourselves whether we made any wrong assumptions with our measurements.
- Did we mess up any settings to get such horrible slowdown for the C++ build?
- Should we have tested ESX(i)(?) instead of Workstation?
- Should we expect anything else from MS Hyper-V? (Because our IT would prefer that.)
Related questions that did not really fully help: