Je viens de voir Cette section de la documentation de l'hirondelle de malédend montez sur des nouvelles du pirate de hacker. Fondamentalement, ce sont les ingénieurs de Google disant qu'ils ne sont pas optimistes quant à la suppression du gil. Cependant, il semble qu'il y ait une discussion sur le collectionneur des ordures entrecoupé avec cette conversation sur le gil. Quelqu'un pourrait-il m'expliquer la relation avec moi? P>
3 Réponses :
La version vraiment courte est que Python gère actuellement la mémoire avec un comptage de référence + un schéma de collecteur de cycles de marque et de balayage, optimisé pour la latence (au lieu du débit). p>
Tout cela est bien lorsqu'il n'y a qu'un seul fil de mutation, mais dans un système multi-threadé, vous devez synchroniser tous les temps que vous modifiez refcounts, sinon vous pouvez avoir des valeurs "automne auge les fissures" et la synchronisation Les primitives sont assez chères sur le matériel contemporain. p>
Si Refcounts n'a pas changé si souvent, cela ne poserait pas un problème, mais à peu près chaque opération que vous faites à CPPHon peut provoquer une modification de référence quelque part, de sorte que les options sont soit gil, faire des refcounts avec une sorte de la synchronisation (et passez littéralement presque tout votre temps sur le synchronisation), ou fossé le système refcounting pour une sorte de véritable collecteur à ordures. P>
La réponse du thon-poisson couvre essentiellement. Si vous voulez plus de détails, il y avait une discussion sur la manière dont la gil peut être supprimée sans avoir em> une grande partie d'un effet sur le comptage de référence ici: http://mail.python.org/pipermail/python-ideas/2009-october/006264.html p>
La suggestion dans ce lien était naïve. L'utilisation de la comparaison et du swap pour référence est trop lente.
Je viens de trouver un autre point de vue sur ce sujet ici: http://renesd.blogspot.com/2009/12/python-gil-unladen-swallow-reference.html p>
Eh bien, lisez le gil. wiki.python.org/moin/globalinterpreterlock Comme vous pouvez le constater, il s'agit de la gestion de la mémoire.