Вы получите абсолютную максимальную производительность, используя CreateFile и ReadFile. Откройте файл с помощью FILE_FLAGS_SEQUENTIAL_SCAN.
Чтение с размером буфера, равным степени двойки. Только бенчмаркинг может определить это число. Я видел, что это было 8K один раз. В другой раз я обнаружил, что это 8M! Это сильно варьируется.
Это зависит от размера кэша ЦП, от эффективности опережающего чтения ОС и от накладных расходов, связанных с выполнением множества небольших операций записи.
Отображение памяти не самый быстрый способ. У него больше накладных расходов, потому что вы не можете контролировать размер блока, и ОС должна отказывать на всех страницах.