Каков наиболее подходящий способ использования MemoryMappedViewAccessors .Net 4.0?

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

  •  11-09-2019
  •  | 
  •  

Вопрос

При отображении большого файла, отображенного в памяти, в поле с возможностью прокрутки, что более уместно, чтобы представление представляло весь файл или только ту часть файла, которая отображается в данный момент?
В более широком смысле, на каком уровне абстракции выполняется подкачка файлов, отображаемых в памяти .Net?Связан ли размер страницы/объем файла, хранящегося в памяти, с MemoryMappedViewAccessors или он не зависит от этих объектов?

Это было полезно?

Решение

Он независим;данные не копируются в память до тех пор, пока не будет получен доступ к адресу (или ближайшему адресу).Однако размер представления учитывается в адресном пространстве вашего процесса.Это действительно важно в 32-битных системах, поскольку адресное пространство процесса ограничено 2 или 3 ГБ.Это влияет на возможность выполнения будущих распределений из-за возможности того, что непрерывный блок желаемого размера может быть недоступен в адресном пространстве.

Возможность использования больших представлений часто называют основным преимуществом 64-битных систем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top