[PYTHON] Économisez de la mémoire avec `` __slots__``

Je ne le savais pas, alors prenez note.

Par défaut en Python, les attributs des instances d'objet sont stockés à l'aide de dict. Avec cette méthode de sauvegarde, de nouveaux attributs peuvent être définis dynamiquement lors de l'exécution.

Cependant, dict est une perte de mémoire lorsqu'il s'agit de petites classes avec un petit nombre d'attributs fixes. Dans un tel cas, il vaut mieux économiser de la mémoire en écrivant le nom de l'attribut dans `` slots ''.

class Image(object):
    __slots__ = ['id', 'caption', 'url']

    def __init__(self, id, caption, url):
        self.id = id
        self.caption = caption
        self.url = url
        self._setup()

        # ... other methods ...

référence

Recommended Posts

Économisez de la mémoire avec `` __slots__``
Utiliser la mémoire partagée avec une bibliothèque partagée
Enregistrez des images avec le web scraping
Utilisez Django pour enregistrer les données de tweet
Rechercher les fuites de mémoire avec objgraph
Enregistrer et charger des données avec joblib, pickle
Enregistrer et récupérer des fichiers avec Pepper
Envoyer l'image avec python et enregistrer avec php
Enregistrer la vidéo image par image avec Python OpenCV
Modifier et enregistrer des fichiers en lecture seule avec vim
Enregistrer / charger la base de données en mémoire avec sqlite3 de python
Enregistrer avec Python → Enregistrer le fichier (périphérique sonore + wave)
Ce que j'ai fait pour économiser la mémoire Python