Calcul de l'utilisation de la mémoire des objets C#
Cet article explique comment estimer la mémoire utilisée par les objets en C#, tels que les tables de hachage, les listes triées et les listes. Une mesure précise est difficile, mais nous pouvons obtenir une approximation précise.
Taille approximative de la mémoire
La méthode suivante propose une estimation raisonnable de l'empreinte mémoire d'un objet :
<code class="language-csharp">long size = 0; object o = new object(); using (var s = new MemoryStream()) { var formatter = new BinaryFormatter(); formatter.Serialize(s, o); size = s.Length; }</code>
Ce code sérialise l'objet en un flux d'octets à l'aide de BinaryFormatter
. La longueur du flux sert de proxy pour la taille de la mémoire de l'objet. La sérialisation capture les données et la structure de l'objet, reflétant fidèlement sa représentation en mémoire.
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!