Heim >Backend-Entwicklung >C++ >Wie kann ich den Speicherverbrauch von Objekten in C# messen?

Wie kann ich den Speicherverbrauch von Objekten in C# messen?

DDD
DDDOriginal
2025-01-14 17:02:47744Durchsuche

How Can I Measure the Memory Consumption of Objects in C#?

Berechnung der Speichernutzung von C#-Objekten

In diesem Artikel wird erläutert, wie Sie den von Objekten in C# verwendeten Speicher schätzen, z. B. Hashtables, SortedLists und Listen. Eine genaue Messung ist schwierig, aber wir können eine genaue Annäherung erzielen.

Ungefähre Speichergröße

Die folgende Methode bietet eine vernünftige Schätzung des Speicherbedarfs eines Objekts:

<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>

Dieser Code serialisiert das Objekt mithilfe von BinaryFormatter in einen Bytestream. Die Länge des Streams dient als Proxy für die Speichergröße des Objekts. Die Serialisierung erfasst die Daten und die Struktur des Objekts und spiegelt so dessen Darstellung im Speicher genau wider.

Das obige ist der detaillierte Inhalt vonWie kann ich den Speicherverbrauch von Objekten in C# messen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn