parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

parser2 размером 50Мб - нонсенс.

Константин Моршнев 03.03.2003 13:01

То есть если одновременно работают несколько парсеров, то в их суммарный размер в 50 Мб можно поверить. Но чтобы получить один parser2, занимающий 50 Мб, надо в него эти 50 Мб поставить, а это не так просто. :)

Parser2 занимает память только в переменные, таблицы (причем при перезаписи старое значение освобождается), и собственно в output. Поскольку вероятность выдачи HTML страницы в 50Мб минимальна, в переменные обычно много данных не кладут, остаются таблицы. То есть либо ваши скрипты считывают с диска ~50Мб файлов .cfg, либо данных из базы на ~50Мб... Настоятельно рекомендую посмотреть на эти скрипты. :) Вероятно там есть узкое место, простая оптимизация которого заметно облегчит вам существование... И неудивительно, что скрипт обрабатывающий 50Мб данных медленно работает. Хотя теоретически дело еще может быть в неоптимальных регулярных выражениях.

Резюме: Parser2 очень экономно относится к памяти, хотя это и несколько противоречит тому, что вы наблюдаете. :)

P.S. Высказанные мной утверждения легко проверяются экспериментально, поэтому просьба если их и опровергать, то _конкретными_ примерами.