Windows – Why is c++ process much slower than on other machine with same hardware/software

ccpuwindows

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?

Best Answer

You write that both machines are Dell Latitude E6420's. Since both have the same hardware you should be able to swap the harddrives. That way you can detect if the problems in the software without reinstalling.

Other things to check are BIOS settings (same settings and same version of the BIOS).

If neither of the two yields any results check the harddrives. Both the model and the event viewer in windows (read errors will be logged).

Lastly, monitor the CPUs with CPU-Z.

Related Question