Während ich in diesen Tagen viel Benchmarking mache, stolperte ich über etwas sehr beunruhigendes/interessantes/neues für mich. Nach einigen Recherchen, die immer mehr auf den Punkt kommen (was ich nicht glauben konnte), scheint Windows XP (und wahrscheinlich auch alle anderen Versionen) Programme ungefähr dreimal so langsam auszuführen wie im abgesicherten Modus.Windows abgesicherten Modus führt einfache Programme (mindestens) 3 mal schneller?
Nehmen Sie dieses kleine Programm als Beispiel:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
long i,j,k;
printf ("Starting...\n");
k = 12;
for (i = 0; i < 20000; i++)
for (j = 100000; j > 0; j--)
k = k * 12;
printf ("Done... k =%d", k); // just using k here to prevent the whole block isn't optimized away.
return 0;
}
Auf meinem 2,4 Ghz Computer dauert es ~ 2,5 Sekunden im abgesicherten Modus auszuführen, während es ~ 8 Sekunden dauert im Normalmodus auszuführen. (ThreadPriorität = TIMECRITICAL, ProcessClass = REALTIME). EVEN, wenn ich kompilieren und starten Sie diesen Code innerhalb einer vmware-Linux-Sitzung in diesem normalen Windows-Modus wird es schneller ausgeführt (ca. 5,5 Sekunden).
Ich habe auch eine Menge CPU-Zyklus Messung und tatsächlich die Ergebnisse aus dem abgesicherten Modus scheinen viel mehr wie das, was Sie erwarten sollten angesichts der Menge der Anweisungen verarbeitet.
Also was habe ich vermisst? Kann mir jemand das rätseln?
Alle Hinweise und Hinweise geschätzt, Danke.
Gelöst! Es tut mir leid, Jungs, dieses Problem ist mit meiner beschissenen Alienware m15x, die aus irgendeinem Grund auf scheinbar 1/3 seiner CPU-Leistung Drosselung - es sei denn, Sie böse Werkzeuge (ThrottleStop.exe) verwenden, um es normal zu bringen Geschwindigkeit. Es tut mir leid, dass du deine Zeit verschwendet hast. :(
Wie messen Sie die Zeit? Es gibt keinen Messcode drin. Sind Sie sicher, dass die gesamte Schleife sowieso nicht optimiert ist? Der Compiler könnte den Wert von k zur Kompilierzeit berechnen Wie auch immer ... – AshleysBrain
Ja, ich habe das aus Gründen der Einfachheit verlassen, aber ich vertraute auch nichts mehr, also habe ich die Schleife groß genug gemacht um mit einer Stoppuhr in der Hand zu sitzen, es sind wirklich 2,5 Sekunden gegen 8 - 8,5 Sekunden. und ich habe mir den Maschinencode angeschaut - also nein, es ist nicht wegoptimiert - auch: der gleiche Code läuft 1 mal im normalen Modus - 1 mal im abgesicherten Modus –
@Roman Pfneudl, das ist interessant, zumal du das schon bist Sie haben versucht, Ihren Antiviren-/Anti-Malware-Dienst zu stoppen und zu sehen, ob das einen Unterschied macht? –