Как регулировать глубину рекурсии?

Доброго времени суток! Возник такой вопрос: чем ограничена глубина рекурсии и как ее регулировать(в смысле где и как задать)? За 4 года ни разу не задавался этим вопросом. У меня получилось на 16Гб выжать 40к итераций и апач умер. Как по мне то если в рекурсию нужно углубляться на столько, что-то идет не так со всем приложением. Выручайте.
  • Вопрос задан
  • 332 просмотра
Решения вопроса 1
@neol
Глубина рекурсии ограничена размером стека. Слегка (до 16384) поднять можно через ulimit -s, Если нужно больше - прописав в /etc/security/limits.conf (путь верен для Debian и производных, в других дистрибутивов может отличаться) что-то типа:

* - stack 65535
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Хотел было написать - глубина рекурсии определяется исключительно размерами разрешённой памяти.

Потом вспомнил про это RecursiveIteratorIterator::setMaxDepth (когда то на глаза попадалась - особо не вникал, и не использовал)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы