Ich arbeite an einer 32-Bit-Endbenutzeranwendung, die viel Speicherplatz benötigt. Bis zu mehreren Gigabyte. Vor kurzem habe ich unsere interne Speicherzuweisungsstrategie geändert und verwende nun memory-mapped-files-without-files, inspiriert von diesen Artikel von Raymond Chen. Es funktioniert großartig.
Der einzige Nachteil ist dieser: Wenn ich auf diese Weise ein Gigabyte Speicher zuweise, taucht es in den Leistungszählern nicht auf. Natürlich weiß ich, wie viel zugewiesen wird und wie viel davon in meinen Adressraum eingeblendet wird, aber ich weiß nicht, wie es auf den physischen Speicher und die Auslagerungsdatei aufgeteilt ist. Ich würde es gerne wissen, und sei es nur, um es für die Fehlersuche zu protokollieren.