Ich bin ziemlich neugierig, wie Windows und Linux Speicherverwaltung mit C++ - Programmen durchführt.Windows, Linux und Speicherverwaltung
Der Grund für diese Neugier ist, weil ich gerade 3 sehr einfache Programme in C++ portable zwischen Linux und Windows gemacht habe. Der Code war genau derselbe. Die Hardware auch. Aber die Ergebnisse waren unglaublich anders! Beide Tests wurden 10 mal wiederholt und dann wurde das arithmetische Mittel berechnet.
Ich habe sequentielle Insertionen auf einem statischen Array von ganzen Zahlen, auf dem Klassenvektor und auf einem Stapel (mit Zeigern) getestet. Die Gesamtzahl der Insertionen betrug 10^6.
Windows XP SP2 x86 Ergebnisse: Static Array von ganzen Zahlen: 56 ms Klassenvektor: 686 ms Stack (mit Zeiger): 2193 ms
Slackware 11 x86 Ergebnisse: Statische Array von ganzen Zahlen: 100 ms Klassenvektor: 476 ms Stapel (mit Zeiger): 505 ms
Der Geschwindigkeitsunterschied zwischen der Stapeleinfügungszeit unter Windows und Slax ist beeindruckend. Erscheint das Ergebnis normal? Beide Codes wurden mit G ++ kompiliert (mingw32-g ++ unter Windows).
Der verwendete Computer war ein Dual Core 3.2Ghz mit 4GB RAM und als die Tests gemacht wurden, gab es mehr als 2GB freien RAM.
Dies ist keine Frage. (Hinweis: Fragen enden in der Regel mit einem Fragezeichen "?"). – abelenky
Ich denke, die Frage ist - warum sind sie so verschieden? –
Nicht "Erscheint das Ergebnis normal?" qualifizieren? – jmanning2k