Ich bin bestrebt, die Geschwindigkeit meines Programms zu maximieren (um Ergebnisse in Echtzeit zu erhalten) und unnötiges Laden von Daten von der Festplatte zu vermeiden.Wie verwende ich so viel RAM wie möglich für mein Programm?
Das Programm soll eine riesige Menge von Bildern verarbeiten und ich würde im RAM so viel verarbeitete Daten wie möglich behandeln. Aber ich fand heraus, dass malloc
nicht mehr als 2 GB zuweisen, auch wenn ich 8 GB RAM (Windows 7 64-Bit) habe.
Wie kann ich erreichen, dass mein Programm so viel RAM wie möglich verwendet?
Wenn Sie zu einem 64-Bit-Linux wechseln, können Sie 'malloc' viel mehr als 2GB (wahrscheinlich fast 7 oder 8GB). –
Denken Sie daran, dass z.B. 'malloc' weist einen fortlaufenden Speicherblock zu. Es könnte einfach sein, dass es keinen Block gibt, der groß genug für Sie ist. Denken Sie auch daran, dass alle Anwendungen diesen Speicher gemeinsam nutzen, auch wenn Sie über 8 GB physischen RAM verfügen. Wenn Sie nicht ständig den gesamten Speicher lesen/schreiben, können Teile davon auf die Festplatte ausgelagert werden. –
Sind Sie sicher, dass Ihr Programm im 64-Bit-Modus in eine ausführbare 64-Bit-Datei kompiliert wurde? –