I'd suggest to run something like ProcessExplorer:
http://www.microsoft.com/technet/sysinternals/processesandthreads/processexplorer.mspxThis will show you clearly what processes are eating how much CPU power.
Probably there is a background task, virus or not. Could be defrag, or antivirus scan.
It could also be some kind of weird bug in your code, EG when you are waiting for Vsync on even days only - accidently :)
There was also the "nibble adress boost" we disconvered some time ago, a FOR loop was significantly faster if its branch label was set on an even, or on a nibble adress (address divideable trough 16). But it wasn't 50% faster, only about 10 or 15 or so. And it also required recompilation with an altered version of the code.