parser

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

 

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

Ответ

Misha v.3 19.08.2011 12:32 / 19.08.2011 12:35

вы используете этот rsplit: http://www.spearance.ru/parser3/rsplit/ ?

если да, то для вашего случая (да и вообще) считаю его очень неоптимальным.

предлагаю переписать:
- заранее скомпилить объект-ы класса regex, а в цикле лишь использовать их (в вашем случае это будет минус 3*300000 компиляций шаблона)
- избавиться от ^match[...][g]{^append{}}. это очень хреново. ничего не мешает сразу от match-а получать таблицу, а не добавлять к ней на парсере записи построчно (в вашем случае это минус туча append-ов)
- выкинуть неиспользуемый switch (минус туча .lower)

думаю эта паределка однозначно решит проблему с Too many heap section, но вот с ограничением времени выполнения скрипта на хостинге боюсь ничего не выйдет. вы делаете очень много работы. во время выполнения одного скрипта вы не спишитесь в ваши ограничения. надо разбивать работу на куски (для начала выносить sql отдельно).