Ответ
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 отдельно).