Максимально быстрое чтение очень большого файла - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, задача прочитать очень большой файл (1GB-10GB+). Нужно провести операцию с каждой строкой этого файла. Используя StreamReader + ReadLine чтение получается до безобразия долгим. Может есть способ загрузки файлов в оперативную память и потом быстро посточно его прочитать от туда ? (У меня RAM 32G) Или ещё какойто способ. Читал про MemoryMappedFile - в упор не понимаю как оно работает. Ещё вроде как можно выделить себе память с помощью malloc - тоже не въезжаю как оно там пашет)

Решение задачи: «Максимально быстрое чтение очень большого файла»

textual
Листинг программы
long step = Info.Length/100;
long lastPos = 0;
 
...
 
if (sr.BaseStream.Position - lastPos >= step)
{
   lastPos = sr.BaseStream.Position;
   drawTextProgressBar(sr.BaseStream.Position, Info.Length);    
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы