Maison  >  Article  >  développement back-end  >  Gestion de la mémoire en Python

Gestion de la mémoire en Python

WBOY
WBOYavant
2023-09-10 21:33:031512parcourir

Gestion de la mémoire en Python

Écrire du code efficace en mémoire et rapide à exécuter est ce que souhaite tout développeur lorsqu'il travaille avec n'importe quel langage de programmation. En Python, l'allocation et la désallocation de mémoire ne sont pas manuelles car Python dispose d'un garbage collector.

Maintenant, qu'est-ce qu'un éboueur ?

Éboueur

Le garbage collection fait référence à la manière dont la mémoire est libérée lorsqu'elle n'est pas utilisée et la rend disponible pour être utilisée par d'autres objets. Python supprime les objets qui ne sont plus utilisés. C'est ce que nous appelons le ramassage des ordures. Le garbage collector démarre l'exécution du programme et est activé lorsque le nombre de références tombe à zéro.

Le garbage collector de Python s'exécute pendant l'exécution du programme et est déclenché lorsque le nombre de références d'un objet atteint zéro. Le nombre de références d'un objet change à mesure que le nombre d'alias pointant vers lui change.

Voyons maintenant comment la mémoire est allouée en Python -

Allocation de mémoire statique - pile

Dans l'allocation de mémoire statique, la mémoire est allouée au moment de la compilation. La structure de données de pile stocke la mémoire statique.

Un exemple simple d'allocation de mémoire sur la pile -

static int x=2;

Allocation dynamique de mémoire – Heap

Dans l'allocation dynamique de mémoire, la mémoire est allouée au moment de l'exécution. Le tas stocke la mémoire dynamique. Si l'objet n'est plus nécessaire, il libère de l'espace mémoire.

Un exemple simple où la mémoire est allouée sur le tas pour 2 entiers -

x = [0]*2

Comme nous l'avons vu ci-dessus, le garbage collector démarre son exécution au démarrage du programme et est activé lorsque le nombre de références tombe à zéro. Voyons ce qu'est le comptage de références.

Nombre de références

Le garbage collector Python démarre l'exécution d'un programme et est activé lorsque le nombre de références tombe à zéro. Voyons quand le nombre de références augmente ou diminue

Lorsque la valeur du nombre de références augmente -

  • Lorsqu'un nouveau nom est attribué ou attribué dans un dictionnaire ou un tuple, le nombre de références augmente sa valeur.

  • Si nous réattribuons la référence à l'objet, le nombre de références diminue sa valeur.

Lorsque la valeur du nombre de références diminue -

  • La valeur diminue lorsque la référence à l'objet sort de la portée.
  • La valeur diminue lorsque l'objet est supprimé.

Ainsi, le nombre de références est en fait le nombre de fois qu'un objet est référencé par d'autres objets. De cette façon, la désallocation se produit lorsque le nombre de références tombe à zéro.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer