Каковы преимущества файлов с отображением памяти?
Я использовал файл отображения filesystem памяти для реализации функции memory «автозаполнения», когда пользователь filesystem печатает. У меня более 1 filesystem миллиона артикулов, хранящихся memory в одном индексном файле. В language-agnostic файле есть некоторая типичная language-independent информация заголовка, но language-independent большая часть файла представляет language-agnostic собой гигантский массив записей memory фиксированного размера, отсортированных language-agnostic по ключевому полю.
Во время filesystem выполнения файл сопоставляется memory с памятью, преобразуется language-agnostic в массив C
в стиле struct
, и мы filesystem выполняем двоичный поиск, чтобы filesystems найти совпадающие номера filesystems деталей по мере ввода пользователем. Только filesystem несколько страниц памяти filesystems файла фактически считываются language-independent с диска — в зависимости от memory того, какие страницы были language-agnostic найдены во время двоичного filesystems поиска.
- Параллелизм. У меня была проблема с реализацией, из-за которой иногда файл отображался в памяти несколько раз в одном и том же пространстве процесса. Насколько я помню, это была проблема, потому что иногда система не могла найти достаточно большой свободный блок виртуальной памяти для сопоставления файла. Решение состояло в том, чтобы сопоставить файл только один раз и перенаправить все вызовы к нему. Оглядываясь назад, использование полноценной службы Windows было бы круто.
- Произвольный доступ — бинарный поиск, безусловно, имеет произвольный доступ и молниеносно
- Производительность. Поиск очень быстрый. По мере того, как пользователи вводят текст, во всплывающем окне отображается список совпадающих номеров деталей продукта, и этот список сокращается по мере того, как они продолжают вводить текст. Заметной задержки при наборе текста нет.
language-agnostic
memory
filesystems
Каковы преимущества файлов с отображением памяти?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.