I have a c++ program (compiled with visual studio 2010 for windows x64) which does some mathematical optimization and has no interactive elements (the (single) process is just started via console and ends when the optimization is done). The runtime depends on the given input, and can be for example ca. 4 minutes.
When i run this process on my machine (Dell Latitude E6420, Intel Core i7-2720QM 2,2 Ghz, 8GB RAM, Windows 7 (64bit)) it uses 13% of the whole cpu (that should be correct since it can also use one single core). The problem is, that it runs more than 4 to 8 times slower than on another Dell Latitude E6420 (with exactly the same stats and even mostly same installed software) while using the resources of one core. For example: The process runs 20 minutes on my machine but 4 minutes on the other.
There are no other processes running except for system processes (CPU usage is nearly 0% except for the running c++ process).
Numerical errors or other mathematical problems are out of question, it is verified that the algorithm does exactly the same on both machines, only slower (while having exactly the same processor usage (=13%).
I want to avoid re-installing Windows, so the question is, could there be other reasons, like defect hardware, wrong bios settings etc.? All drivers are up to date.
Any idea what can cause this extreme difference in running time?