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!