Каков наиболее подходящий способ использования MemoryMappedViewAccessors .Net 4.0? - PullRequest
1 голос
/ 06 августа 2009

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

1 Ответ

2 голосов
/ 06 августа 2009

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

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

...