|
Bas de page | |
---|---|
Auteur | Sujet : [Resolu] Gestion de la mémoire |
Publicité | Posté le 19-03-2009 à 11:59:29 |
guybrush02 | Le comportement est tout à fait normal : dans le test 3, tu n'as aucune référence mémorisée vers l'objet rejeté par base.sort(). Quand tu affiches base.sort().tab, Python appelle automatiquement le destructeur vers l'objet rejeté par base.sort() (puisqu'aucune référence n'est faite vers cet objet), et comme ton destructeur supprime l'élément tab de cet objet, par extension, il supprime tout avant que tu l'affiches. |
Sve@r |
--------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
guybrush02 | 1) Ne pas gérer la mémoire toi-même quand ce n'est pas nécessaire. Message cité 2 fois Message édité par guybrush02 le 19-03-2009 à 18:03:14 |
masklinn í dag viðrar vel til loftárása |
Il ne faut jamais définir de __del__ quand on est pas certain que c'est exactement ce dont on a besoin (et globalement c'est uniquement le cas pour des ressources rares: handlers de fichiers ou de sockets, connections, ...). Message cité 1 fois Message édité par masklinn le 19-03-2009 à 18:20:31 --------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
Sve@r |
--------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
masklinn í dag viðrar vel til loftárása |
--------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
masklinn í dag viðrar vel til loftárása | Et accessoirement, le __del__ qui ne sert à rien a clairement un impact fort sur ce microbench à la con (dans une vraie application il serait probablement invisible) dans la mesure où le runtime doit appeler une fonction Python (alors que la suppression d'origine se fait intégralement en C) et exécuter un slice et deux del à l'intérieur:
Message édité par masklinn le 20-03-2009 à 15:29:21 --------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
Sve@r |
Message cité 1 fois Message édité par Sve@r le 20-03-2009 à 22:23:50 --------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
masklinn í dag viðrar vel til loftárása |
Et accessoirement, del ne supprime rien, il décrémente le refcount de l'objet de 1, donc si tu pars avec l'idée que c'est équivalent à free/delete t'as déjà tout faux Idem pour définir __del__, ça se fait pas dans un langage à GC, sauf si tu as une ressource rare qui doit impérativement être relachée (fichier, connection db) et encore (en 2.5+ on passera par un context manager pour ce genre de trucs) Message cité 1 fois Message édité par masklinn le 20-03-2009 à 22:35:56 --------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
Publicité | Posté le 20-03-2009 à 22:31:55 |
Sve@r |
--------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
Sujets relatifs | |
---|---|
Affichage des champs d'une table [RESOLU] | [resolu]Tenir une requete? |
[Résolu] Limite le nombre d'éléments matchés | [RESOLU]isset d'un GET d'une checkbox |
Probléme CSS | [Résolu] Créer un fichier tableur en PHP (pas EXCEL) |
[Résolu][shell] suppresion de dossier/fichier datant plus de 30 jours | [RESOLU] Adresse SanS "WWW" |
redimensionner un graphique [Resolu] | [Résolu] gestion mémoire en java |
Plus de sujets relatifs à : [Resolu] Gestion de la mémoire |