Skip to content
Latchkey

O Que É Trampolining?

Trampolining é um padrão em que uma função, em vez de chamar o próximo passo diretamente, retorna um valor que descreve esse passo, e um loop de nível superior chamado trampoline invoca repetidamente os passos retornados. Como cada passo retorna antes de o próximo executar, a pilha nunca cresce com a profundidade da recursão. Ele simula a tail call optimization em ambientes que não a possuem.

Por que importa

O trampolining permite que código profundamente recursivo ou mutuamente recursivo execute com segurança onde o runtime não otimiza tail calls. O preço é algum overhead e um fluxo de controle menos direto.

Guias relacionados