Por que o Pypy 1.7 des implementa a pilha "empilhada"?
-
12-11-2019 - |
Pergunta
Construção padrão do Pypy 1.7 com empilhada incluída, não oferece a capacidade de executar sem limite de profundidade de recursão (de maneira direta).
por quê?
Construções do Piúdo de Pipul com estilo de continuação de suporte empilhado de chamada de função e recursão de cauda.
Eu não estou perguntando sobre soluções envolvendo coroutines, mas a busca dos problemas de empilhadores de integração.
Solução
A razão é que os novos contetes funcionam na pilha de nível do sistema operacional, que é limitada (No entanto, eles são muito mais simples do que a velha transformação empilhada no processo de tradução)
Há um trabalho atual em andamento para o contullet jit que experiências com a pilha sendo blocos gerenciados GC
Se isso for bem sucedido, a pilha "ilimitada" para empilhada será de volta na forma de apenas alocar novos blocos de pilha até ficar sem lembranças