4

La construction par défaut de PyPy 1.7 avec stackless inclus dans, n'offre pas la possibilité de fonctionner sans limite de profondeur de récursion (en ligne droite).Pourquoi PyPy 1.7 ne met-il pas en œuvre une pile "sans pile"?

Pourquoi?

Prédius construit de PyPy avec le style de continuation de support sans empilement de l'appel de fonction et de la récursion de queue.

Je ne parle pas de solutions impliquant des coroutines, mais de la recherche des problèmes de stackels d'intégration.

+0

http: //doc.pypy.org/en/latest/stackless.html semble avoir beaucoup d'informations sur ce sujet. –

+0

La question est venue après l'avoir lu;) –

Répondre

2

la raison est que les nouveaux continulets travaillent sur la pile de niveau OS, qui est limitée (mais ils sont beaucoup plus simple que l'ancien stackless transformer dans le processus de traduction)

il y a un travail en cours en cours pour continulet jit que les expériences avec la pile étant gc-gérées blocs

si cela est réussi, la pile "sans limite" pour stackless reviendra sous la forme d'allouer juste de nouveaux blocs de pile jusqu'à ce que vous soyez à court de memeory