Возможный дубликат:
Является ли рекурсия быстрее, чем цикл?
Сначала меня обучали серьезно программировать на C, около 15 лет назад. Мой работодатель хотел получить очень оптимизированный код для сложных вычислительных задач. Я помню, что мне не раз советовали переписывать рекурсии как циклы, даже при дорогостоящей читабельности, чтобы избежать "накладных расходов на рекурсию". Как я понял, тогда накладные расходы на рекурсию были дополнительным усилием, необходимым для того, чтобы вставлять данные в стек, а затем выталкивать его.
Теперь я код на C, Python, Perl, а иногда и на Java, и иногда мне интересно о рекурсиях. Есть ли еще что-то, что можно получить, переписав их? Что, если это хвостовые рекурсии? Неужели современные компиляторы задали все эти проблемы? Являются ли такие проблемы неуместными для интерпретируемых языков?