Zitat:
Wenn zur Auswertung der Textdatei wahllos zwischen den Zeilen hin und her gesprungen werden muss, dann bleibt nichts anderes übrig, als die Datei komplett einzulesen.
In den dem Fall würde ich die Datei eher in den Speicher mappen, anstatt reinzuladen,
da hier der FileCache von Windows ins Spiel kommt und diese Datei nicht "komplett" im
RAM/Auslagerungsdatei abgelegt wird.
MemoryMappedFiles
Bei sequentiell ist ein StreamReader aber bestimmt einfacher.
Wobei, bei der MMF kann man da den Anfang und Ende als PAnsiChar/PWideChar casten und kann gemütlich dazwischen durch den Arbeistspeicher hüpfen, während sich Windows um das Laden kümmert (bzw. Entladen, wenn freier
RAM benötigt wird).
z.B. der Code oder die Ressourcen von EXE und DLL sind ebenso in den Speicher gemappt, so dass es nicht in die Auslagerungsdatei muß, da es von der Platte geladen und notfalls entladen werden kann. Abgesehn davon wo Code/Speicher/Adressen angepasst wurden, dann wird der Teil von der Datei entkoppelt (CopyOnWrite) und bleibt im RAM/Auslagerungsdatei.