Was ist die am besten geeignete Art und Weise .Net 4.0 ist MemoryMappedViewAccessors zu benutzen?

StackOverflow https://stackoverflow.com/questions/1236349

  •  11-09-2019
  •  | 
  •  

Frage

Wenn Sie eine große, Memory-Mapped-Datei in einem rollbaren Feld angezeigt wird, ist es sinnvoller die Aussicht zu haben, die gesamte Datei darstellen, oder nur den Bereich der Datei aktuell angezeigten?
Ganz allgemein wird auf welcher Ebene der Abstraktion Paging-Mapped-Dateien mit .NET Speichern getan? Ist die Seitengröße / Menge der im Speicher-Datei auf die MemoryMappedViewAccessors bezogen, oder ist es unabhängig von diesen Objekten?

War es hilfreich?

Lösung

Es ist unabhängig; Daten werden nicht in den Speicher kopiert, bis die Adresse (oder eine in der Nähe Adresse) zugegriffen wird. Allerdings zählt die Größe der Ansicht gegen den Prozess-Adressraum. Das ist wirklich wichtig, auf 32-Bit-Systemen, da der Prozess-Adressraum zu 2 GB oder 3 GB begrenzt. Dies hat Auswirkungen auf die Fähigkeit, durch die Möglichkeit, zukünftige Zuweisungen zu tun, dass ein zusammenhängender Block von der gewünschten Größe kann im Adressraum nicht zur Verfügung stehen.

Die Fähigkeit, große Ansichten zu verwenden, wird oft als ein großer Vorteil von 64-Bit-Systemen genannt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top