Вместо того, чтобы сосредотачиваться на языке (который, как другие упоминали, будет иметь небольшой эффект), сосредоточьтесь на подходе.
Как правило, я рекомендую использовать сопоставление файлов (доступно в .NET 4.0 в новом MemoryMappedFile
класс).Это хорошо, если вы не выполняете однопроходное сканирование в прямом направлении, которое может быть выполнено с использованием обычного потока.
Существует несколько советов, которые неуправляемый код может передать процедурам открытия файлов, которые не 'в .NET (в частности, информирование менеджера кэша о том, что вы собираетесь обращаться к файлу случайным или последовательным образом).Однако их отсутствие, вероятно, не окажет заметного влияния на производительность.