[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нагрузка на регулярные выражения
SitnikovArtur
Привет всем заглянувшим.

Делаю следующее:
Есть строка, примерно 200 Кб, которая формируется из нескольких переменных, предположительно по +-20 Кб.
Потом эта строка обрабатывается регулярными выражениями.

Вопрос.
Лучше собрать все строковые переменные в одну переменную и обработать ее одну (200 кб), или обработать каждую из составляющих ее (которые по 20 кб) по отдельности?

В первом случае регулярное выражение читается 1 раз, но работает с большим объемом данных, во втором случае функция preg_replace_callback будет вызвана 10 раз.

И таких строк (по 200 кб) нужно обработать с десяток.
Следовательно в первом случае preg_replace_callback будет вызвана ~10 раз, во втором ~100 раз.

Регулярное выражение используется всегда одно!
Какой вариант более производителен?
Спасибо.



Спустя 1 час, 36 минут, 49 секунд (2.05.2012 - 19:03) nugle написал(а):
мне кажется первый вариант, но лучше прогони циклом 10000 раз и сравни время

Спустя 43 минуты, 29 секунд (2.05.2012 - 19:47) Placido написал(а):
Тоже за первый вариант, но, возможно, потребуется изменить вот эти настройки. Например, так:
ini_set("pcre.backtrack_limit",10000000);

Спустя 4 часа, 37 секунд (2.05.2012 - 23:47) SitnikovArtur написал(а):
Спасибо, попробую потестить, только возникли сложности с общей архитектурой приложения, пока не могу отписаться о результатах. Подробности тут.


_____________
Не к каждой каптче можно написать антикаптчу ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.