Ich habe ein C ++ - Programm (kompiliert mit Visual Studio 2010 für Windows x64), das einige mathematische Optimierungen durchführt und keine interaktiven Elemente enthält (der (einzelne) Prozess wird nur über die Konsole gestartet und endet, wenn die Optimierung abgeschlossen ist). Die Laufzeit hängt von der jeweiligen Eingabe ab und kann beispielsweise ca. 4 Minuten.
Wenn ich diesen Prozess auf meinem Computer ausführe (Dell Latitude E6420, Intel Core i7-2720QM 2,2 GHz, 8 GB RAM, Windows 7 (64 Bit)), werden 13% der gesamten CPU verwendet (das sollte korrekt sein, da es auch verwendet werden kann ein einzelner Kern). Das Problem ist, dass es mehr als 4- bis 8-mal langsamer läuft als auf einem anderen Dell Latitude E6420 (mit genau denselben Statistiken und sogar größtenteils derselben installierten Software), während die Ressourcen eines Kerns verwendet werden. Beispiel: Der Vorgang dauert auf meinem Computer 20 Minuten, auf dem anderen 4 Minuten.
Außer den Systemprozessen werden keine anderen Prozesse ausgeführt (die CPU-Auslastung beträgt fast 0%, mit Ausnahme des ausgeführten c ++ - Prozesses).
Numerische Fehler oder andere mathematische Probleme kommen nicht in Frage. Es wird überprüft, dass der Algorithmus auf beiden Computern genau das Gleiche tut, nur langsamer (bei genau gleicher Prozessorauslastung (= 13%).
Ich möchte eine Neuinstallation von Windows vermeiden. Die Frage ist also, ob es andere Gründe geben kann, z. B. Hardwaredefekte, falsche BIOS-Einstellungen usw.? Alle Treiber sind aktuell.
Irgendeine Idee, was diesen extremen Laufzeitunterschied verursachen kann?