Utilisation approximative de la mémoire des objets C#
Déterminer avec précision l’empreinte mémoire d’un objet C# est difficile. Cependant, une estimation fiable peut être obtenue grâce à la sérialisation.
Estimation de la taille d'un objet à l'aide de la sérialisation
Cette méthode consiste à sérialiser l'objet en un flux, puis à vérifier la longueur du flux. Bien qu'il ne soit pas parfaitement précis, il offre une approximation raisonnable de la consommation de mémoire de l'objet.
<code class="language-csharp">long size = 0; object o = new object(); using (Stream s = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(s, o); size = s.Length; }</code>
Exemple illustratif
Cette technique peut être appliquée à différents types de collections, tels que Hashtable
, SortedList
et List<string>
, pour avoir une idée de leur utilisation de la mémoire.
Considération importante : Cette approche peut ne pas convenir à toutes les situations exigeant des mesures de mémoire précises. Pour des résultats plus précis, des outils de profilage de mémoire dédiés sont recommandés.
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!