dotSITE
Work in Murano Software. Вопросы/Ответы Учебник по ASP.NET
новости материалы решения форумы группы настройки/о проекте

Автор: Anonymous
Тема: Оптимизация поиска в больших текстовых файлах
Дата: 2/8/2012 6:44:00 PM
Доброго времени суток! Есть такая проблемка. Вступление: Существует определенное количество log файлов. Каждый размером около 500мб.
Мне нужно в файле найти запись X , и из строки с найденной записью X сохранить рядом стоящею запись Y. Записей X у меня около 500. По мере нахождения я удаляю найденные.
Пишу на С# .NET. Проблема в производительности – 1 файл минут 15. Пример метода поиска(псевдо код):

FileInfo f = new FileInfo(per.ListNameLog[k]);
using (FileStream fs = f.Open(FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (StreamReader sr = new StreamReader(fs, Encoding.Default))
{
while (!sr.EndOfStream)
{
      For(int I = 0;i< X.count;i++)
      {
      line = sr.ReadLine();
         if((index = line.IndexOf(“X[i]”,0))>=0)
         {
            Y = line.Substring(index+10, 20)
         }
      }

   }
}
}




Подскажите как можно оптимизировать процесс? Может можно заменить некоторые функции. Например меня смущает IndexOf(). Как по другому искать фрагмент?





 C# -- Программирование на C#
 Оптимизация поиска в больших текстовых файлах Anonymous    2/8/2012 6:44:00 PM
 RE: Оптимизация поиска в больших текстовых файлах Anonymous    3/31/2012 10:23:00 PM


Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2012 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development