Estimation de l'utilisation de la mémoire des objets C#
Comprendre l'empreinte mémoire des objets en C# est crucial pour l'optimisation des performances et une gestion efficace de la mémoire. Ceci est particulièrement important lorsque vous travaillez avec de grandes collections telles que Hashtable
, SortedList
ou List<string>
.
Une méthode pratique pour estimer la consommation de mémoire implique la sérialisation. Bien qu'il ne soit pas parfaitement précis, il fournit une estimation utile dans la plupart des cas.
Voici comment procéder :
<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>
Cet extrait de code sérialise un objet (o
) en un MemoryStream
en utilisant BinaryFormatter
. La propriété s.Length
donne alors une approximation de la taille mémoire de l'objet.
Gardez à l'esprit qu'il s'agit d'une estimation. Des facteurs tels que la fragmentation de la mémoire et l'environnement d'exécution peuvent affecter la précision. Cependant, il offre une indication fiable de l'utilisation de la mémoire à des fins générales.
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!