I don't know if this is the answer, but in both cases, the hardware is definitely NOT the same.
Your Windows install may have some driver that is slowing it down that the Ubuntu doesn't have because it's running on virtualized hardware.
The processors are identical and that is what matters for my program. The only difference is that my program is running on Windows in multithreaded mode versus single threaded mode on Ubuntu. The figures for single threaded mode on Windows are literally twice the ones I provided for the multithreaded version, with the exception of the one for the test of M21701, which is run using a single thread.
As for Ubuntu having a potential driver advantage, because it is running in Virtual PC, it has to interface with emulated hardware while Windows can interact directly with the hardware and also has the latest drivers from Intel, Nvidia, Creative etcetera. If the drivers on Windows were suboptimal, I would expect that to directly affect any OS running under Virtual PC.