Documentation du ramasse-miettes Python

| | | | | | | | | | |

Je recherche des documents décrivant en détail le fonctionnement de la récupération de place en python.

Je suis intéressé par ce qui est fait à quelle étape. Quels objets se trouvent dans ces 3 collections ? Quels types d'objets sont supprimés à chaque étape ? Quel algorithme est utilisé pour trouver les cycles de référence ?

Contexte : J"implémente certaines recherches qui doivent se terminer en peu de temps. Lorsque le ramasse-miettes commence à collecter la génération la plus ancienne, il est "beaucoup" plus lent que dans d"autres cas. Cela a pris plus de temps que prévu pour les recherches. Je cherche comment prédire quand il collectera la génération la plus ancienne et combien de temps cela prendra.

Il est facile de prédire quand il collectera la génération la plus ancienne avec get_count() et get_threshold(). Cela peut également être manipulé avec set_threshold(). Mais je ne vois pas à quel point il est facile de décider s'il est préférable de forcer collect() ou d'attendre la collecte planifiée.