![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Построчное чтени большого текстового файла
IceBeerg © (2005-09-13 18:26:00)Подскажите выход из ситуации... Есть большой log файл (более 40 гигов), пытаюсь загружать его в StringList - читается не весь... Попробовал использовать FileStream, но не знаю как через него читать файл построчно... Цель - читать файл построчно, определять дату находящуюся в начале каждой строки и по этой дате выводить данные log'а. Строки файла НЕ одинаковой длинны...
Anatoly Podgoretsky (2005-09-15 18:53:00) [1]Fay © (14.09.05 10:20) [35]
Copy /b f1+f1 f2 будет 34 для испытания подойдет.
Игорь Шевченко (2005-09-15 16:13:00) [2]Fay © (14.09.05 13:23) [46]
И где статистика ? :)
IceBeerg (2005-09-15 10:02:00) [3]Fay © (14.09.05 13:23) [46]
Все, понял, охренел, в от день был глюк... файлы пересеклись, лечил...
IceBeerg (2005-09-15 09:59:00) [4]Fay © (14.09.05 13:23) [46]
непонял?
Fay (2005-09-14 13:23:00) [5]2 IceBeerg © (14.09.05 11:16) [45]
Там с 140965 (вроде) строки идут горбы.
Дублирую начало 8)
IceBeerg (2005-09-14 11:16:00) [6]Мммм дяяя... и вообще лог не от той базы кинул... да, хорошо вчера отпразновал День программиста...
IceBeerg (2005-09-14 11:12:00) [7]Игорь Шевченко © (14.09.05 11:03) [40]
Вроде ты другой размер указывал в начале ?
Да и место на 80 гиговом винте нужно было...
IceBeerg (2005-09-14 11:09:00) [8]Игорь Шевченко © (14.09.05 11:03) [40]
Вроде ты другой размер указывал в начале ?
А то уже надоело по сетке с такой загруженностью ползать... юзвери плакали... да и сжатие самой базы сделал, похудела на 58 Мб, хотя до этого сжатие делал в начале года...
IceBeerg (2005-09-14 11:06:00) [9]Игорь Шевченко © (14.09.05 11:03) [40]
Да пришлось серьезно подрезать лог...
IceBeerg (2005-09-14 11:05:00) [10]2 Игорь Шевченко ©
2 Fay ©
Жду результатов!
Игорь Шевченко (2005-09-14 11:03:00) [11]IceBeerg © (14.09.05 10:52) [38]
Вроде ты другой размер указывал в начале ?
Fay (2005-09-14 10:55:00) [12]2 IceBeerg © (14.09.05 10:52) [38]
Не наш размер 8)
Но данные вполне пойдут для заполнения
IceBeerg (2005-09-14 10:52:00) [13]Качайте реальный - 44045783 байт, в RAR архиве 2832442 байт. www.icebeerg.newmail.ru/1cv7.rar
Игорь Шевченко (2005-09-14 10:32:00) [14]Fay © (14.09.05 10:20) [35]
Вот давай ты 10 Гб выделишь под файл и будешь развлекаться. Мне интересно, насколько оно быстрее получится в твоем варианте.
IceBeerg (2005-09-14 10:21:00) [15]PVOzerski © (13.09.05 19:03) [13]
Я не знаю формат лога 1С - может, там не #13#10 :)
Нормальный там формат - #13#10
Alexander Panov © (14.09.05 2:02) [20]
Как вариант - разбить файл на куски приемлимого размера
тоже идея
kaif © (14.09.05 2:28) [24]
Читал бы с помощью TFileStream блоками по 32K.
мне рекомендовали по 8 или 16К
Defunct © (14.09.05 2:36) [25]
Log файл может постоянно дописываться
именно это и происходит
Fay © (14.09.05 6:51) [27]
1C-у это не понравится
а хто его спашифать будет?
Fay © (14.09.05 8:21) [29]
Я ваще не спец по 1С Пр-е, но мне как-то запомнилось, что он матерится на изменение лога.
молодец, честно признался, нихрена он не матрится на изменеия лога. Я свои действия скрывал так: открыл лог в FAR'е убил нужные строки и вышел с сохранением и никаких тело-прграммо-движений по этому поводу в 1С не наблюдалось...
Fay © (14.09.05 9:38) [31]
после чего файл занят монопольно
нет, не занять монопольно, а то как бы 6 юзверей туда инфу писали?
Игорь Шевченко © (14.09.05 10:00) [32]
Я уже проводил подобные измерения, ReadLn работает достаточно быстро
наверное всетаки воспользуюсь ReadLn и нафик изобретать велосипед...
И ВООБЩЕ МУЖИКИ, ВСЕМ БОЛЬШОЕ СПАСИБО, ЗА РЕАЛИЗАЦИИ (КОД) ОТДЕЛЬНОЕ! БУДУ ПРОБОВАТЬ...
Fay (2005-09-14 10:20:00) [16]2 Игорь Шевченко © (14.09.05 10:15) [34]
У меня есть только 17Gb
Игорь Шевченко (2005-09-14 10:15:00) [17]Fay © (14.09.05 10:03) [33]
Хорошо, давай ты проведешь эксперимент - создашь текстовый файл на 40 Гб, и почитаешь его разными способами. Только перед каждым чтением необходимо выключать компьютер, чтобы исключить побочный эффект кеширования и аппаратной буферизации :)
Результаты можно выложить в этой ветке.
Fay (2005-09-14 10:03:00) [18]2 Игорь Шевченко © (14.09.05 10:00) [32]
>> ReadLn работает достаточно быстро.
Но не ultimate 8)
Игорь Шевченко (2005-09-14 10:00:00) [19]Fay © (13.09.05 23:38) [17]
> >> Быстрее все равно не сделаешь
> Спорим? 8)
А как меряться будешь ? :)
Я уже проводил подобные измерения, ReadLn работает достаточно быстро.
Fay (2005-09-14 09:38:00) [20]KilkennyCat © (14.09.05 8:58) [30]
Он отслеживает при "запуске", после чего файл занят монопольно.