Отображение файловой памяти происходит быстрее, когда происходит вывод страницы, поскольку сам файл используется в качестве хранилища подкачки.
Если память в файле отображения памяти не изменена, нет необходимости сбрасывать страницу в файл подкачки, поскольку данные уже находятся в файле, и Windows может повторно прочитать страницу с диска. Файлы .EXE и .DLL загружаются с использованием этого механизма и, таким образом, являются собственным хранилищем страниц.
Если память в файле отображения памяти записана, то выгрузка страницы будет такой же, как если бы использовался файл подкачки. Возможно, быстрее, поскольку используется одно и то же место на диске (с учетом оптимизации NTFS).
Простые API используют резервную память файла подкачки для хранения содержимого файла, пока он находится в памяти.
С несколько иной точки зрения оба API оптимизированы, поскольку файлы с отображением памяти могут фактически использоваться под капотом API чтения/записи файлов, поэтому вы получаете микрооптимизацию, поскольку используете более низкую абстракцию.
Оба механизма будут использовать диспетчер VMM/Cache.
person
Preet Sangha
schedule
10.11.2010