Распарсить большой файл

12
nezabor
На сайте с 19.07.2010
Offline
152
1259

Господа есть файл размером от 2МБ - лог программы

программа логирует в xml

соответственно файл сожержит массив xml документов

парсить и писать данные получается но на это уходит до 2-х минут

пока парсинг обкатывался на на localhost (MAMP) проблем нет, но это очень долго

а вот я думаю, перенесу на хостинг, файлы логов будут в разы больше и тогда у меня получится, что при большом времени выполнения скрипта будет вылетать ошибка.

и тут собственно вопрос

интересно хотябы в теории услышать как быть с такой нагруженной обработкой, кстати большее время у меня занимет именно запись в базу

Чудес не бывает...
Artisan
На сайте с 04.03.2005
Offline
375
#1
nezabor:
интересно хотябы в теории услышать
как быть с такой нагруженной обработкой,

Переписать на ассемблере,

можно обращаться ко мне.

www.leak.info / ДАРОМ линки конкурентов и забытых доменов
nezabor
На сайте с 19.07.2010
Offline
152
#2
Artisan:
Переписать на ассемблере,
можно обращаться ко мне.

Вам небось еще и денужка нужна будет за помощь)?

а проект у меня чисто для парсинга логов игрушки чтобы нам с товарищами играть было веселее)

Artisan
На сайте с 04.03.2005
Offline
375
#3
nezabor:
Вам небось еще и денужка нужна будет за помощь)?

Вы угадали.

IL
На сайте с 20.04.2007
Offline
435
#4
nezabor:
а проект у меня чисто для парсинга логов игрушки чтобы нам с товарищами играть было веселее)

Чтоб совсем весело-то было.. чего б не оплатить? :D Или "веселье" за ценность не считается?...

По теме

nezabor:
перенесу на хостинг, файлы логов будут в разы больше и тогда у меня получится, что при большом времени выполнения скрипта будет вылетать ошибка.

Так запустить обработку на хостинге с "реальным" файлом.. Установить время выполнения побольше (если хостер предоставляет возможность) и посмотреть.. зачем гадать?

p.s. Почти уверен, что Есть, вариант оптимизировать обработку данных и без использования assembler-а...

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
D8
На сайте с 16.06.2007
Offline
74
dm8
#5

ищите любую тему по поводу открытия файла в вашем скрипте.

Я работаю в перле, - просто. указатель, открыл, считал кусок, запомнил указатель, обработал, продолжил с указателя.

E
На сайте с 21.09.2009
Offline
283
#6
nezabor:
программа логирует в xml

так и пишите сразу лог в базу. Или игра не Ваша? Не самодельная.

siv1987
На сайте с 02.04.2009
Offline
427
#7

2mb за две минуты... вы чем парсите то? И что за операции там проводите?

---------- Добавлено 11.08.2013 в 10:55 ----------

dm8:
ищите любую тему по поводу открытия файла в вашем скрипте.
Я работаю в перле, - просто. указатель, открыл, считал кусок, запомнил указатель, обработал, продолжил с указателя.

Целевой xml документ считывать построчно?..

php.developer
На сайте с 22.11.2010
Offline
94
#8
nezabor:

а вот я думаю, перенесу на хостинг, файлы логов будут в разы больше и тогда у меня получится, что при большом времени выполнения скрипта будет вылетать ошибка.

Запускайте скрипт из консоли. CLI прекрасная вещь.

dkameleon
На сайте с 09.12.2005
Offline
386
#9

логи по своей пррироде поточная штука и даже если какой-то извращенец записал их в формате ХМЛ, то практически всегда можно выкинуть рут ноду и получить потоковый лог, обернутый в теги.

такое парсить уже плевое дело.

2мб явно быстрее 2 минут будет.

Дизайн интерьера (http://balabukha.com/)
nezabor
На сайте с 19.07.2010
Offline
152
#10

ivan-lev, ТРОЛОЛО,

dm8:
ищите любую тему по поводу открытия файла в вашем скрипте.
Я работаю в перле, - просто. указатель, открыл, считал кусок, запомнил указатель, обработал, продолжил с указателя.

с XML данное не прокатит

dkameleon:
2мб явно быстрее 2 минут будет.

Я же уже писал что большую часть времени занимает запись в базу

easywind:
так и пишите сразу лог в базу. Или игра не Ваша? Не самодельная.

игра не моя и написание другого сборщика логов как N задача

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий