Qu'est-ce que le comptage de références?
Le comptage des références est une technique de programmation informatique utilisée pour rationaliser la gestion de la mémoire, permettant à l'ordinateur de savoir instantanément quand il est "sûr" de libérer une valeur ou un bloc de valeurs de la mémoire. Lors de la programmation, il est essentiel de réaliser des économies, car les programmes peuvent être exécutés sur la plus large gamme possible de matériel informatique. La mémoire vive (RAM) est une ressource importante mais limitée pour un ordinateur. Conserver les données du programme stockées dans la RAM est l’un des moyens les plus rapides d’améliorer le temps de réponse d’un programme, mais consommer trop de RAM système fait de ce programme une véritable ressource, un trait indésirable du point de vue de l’utilisateur final. Le comptage des références permet d'équilibrer cela en conservant les données dans la RAM aussi longtemps que le programme en a besoin.
La technique de comptage de références fonctionne en gardant trace du nombre et du nom des objets utilisés par le programme. Pensez à la mémoire d'un ordinateur comme à une chambre d'enfants remplie de jouets et à un espace de stockage sur le disque dur à un coffre de jouets dans la pièce. Le comptage des références garde la trace des "jouets" spécifiques (objets) avec lesquels le programme (enfant) joue en même temps; en d'autres termes, le nombre d'objets qui se trouvent actuellement sur le "sol". Dès que le programme cesse de jouer avec un objet spécifique, le comptage des références en prend note et renvoie l'objet dans le stockage sur le disque dur, au lieu de lui permettre de continuer à occuper de l'espace dans la RAM.
En ce qui concerne les avantages, le principal avantage du comptage des références provient de l’immédiateté. Dès que le programme se termine avec un objet, il le range, ce qui libère de l'espace pour d'autres objets du programme et pour d'autres programmes de l'ordinateur. Du point de vue de l'utilisateur final, il s'agit d'une approche très propre. le programme ne prend jamais plus de mémoire qu'il n'en a besoin à un moment donné.
L'inconvénient de cette technique est l'économie. Pour que le comptage de références fonctionne efficacement, il doit utiliser un dispositif de surveillance perpétuelle afin de gérer le nombre d'objets utilisés à la fois. Cela consomme une petite partie de la mémoire et de la capacité de la CPU, ce qui augmente la charge de traitement du programme. Le résultat est que la décision d'utiliser le comptage de références devient un acte d'équilibrage, déterminant si le programmeur veut attribuer une contrainte supplémentaire à la CPU ou à la RAM.