03
Окт
2017

Как уйти от переполнения стека в рекурсии?

Допустим есть функция которая собирает данные например с википедии, функция запускает сама себя рекурсивно, лимит рекурсии 2000 по умолчанию, но этого мало для сбора данных, и мне нужно что бы функция запускалась на много больше раз, какие есть выходы ?

sys.setrecursionlimit(1500)

можно повысить лимит, но это приведет к переполнению стека (это такая защита в реализации CPython), и если поднять лимит выше 4000 тысяч интерпретатор не выдерживает. Собственно понятно, что я могу решить задачу и без рекрсивного запуска, но интересует можно ли что то сделать именно с рекурсией, что бы функция смогла вызывать себя раз так 100 000 ?

Источник: https://ru.stackoverflow.com/questions/726176/%D0%9A%D0%B0%D0%BA-%D1%83%D0%B9%D1%82%D0%B8-%D0%BE%D1%82-%D0%BF%D0%B5%D1%80%D0%B5%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D1%81%D1%82%D0%B5%D0%BA%D0%B0-%D0%B2-%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B8

Share

Тебе может это понравится...