Файлы с отображением в памяти обычно являются самыми быстрыми доступными операциями, если вы хотите, чтобы ваш файл был доступен синхронно.(Существуют некоторые асинхронные API, которые позволяют O / S иногда переупорядочивать вещи для небольшого увеличения скорости, но это звучит так, как будто это не помогает в вашем приложении)
Основное преимущество, которое вы получаете с сопоставленными файламизаключается в том, что вы можете работать с памятью над файлом, пока он все еще считывается с диска с помощью O / S, и вам не нужно управлять своим собственным кодом чтения файла блокировки / потоков.
Справочник по памятив памяти x86 будет считываться целая строка за раз, независимо от того, с чем вы на самом деле работаете.Дополнительное время, связанное с небайтовыми гранулярными операциями, относится к тому факту, что целые числа не должны быть выровнены в байтах.Например, выполнение ADD займет больше времени, если вещи не выровнены по 4-байтовой границе, но для чего-то вроде копии памяти будет небольшая разница.Если вы работаете с собственно символьными данными, то сохранить их будет быстрее, чем читать все как целые числа и сдвигать биты.
Если вы выполняете кодирование узкого места h.264 или MPEG2в любом случае, вероятно, будет время процессора, а не дисковый ввод-вывод.