Laden...

Speichersparend Programmieren

Erstellt von stift vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.586 Views
S
stift Themenstarter:in
201 Beiträge seit 2005
vor 17 Jahren
Speichersparend Programmieren

Hallo,

hat jemand Tipps bzw. ein How-To, was man beachten muss, dass man speichersparend programmiert?

Bye
Daniel

L
273 Beiträge seit 2006
vor 17 Jahren

was meinst ? Arbeitsspeicher Festplattenspeicher? Was willst programmieren ?

564 Beiträge seit 2005
vor 17 Jahren

In .net kann man super programmieren. Aber bestimmt nicht Speicher sparend.

R
494 Beiträge seit 2006
vor 17 Jahren
3.728 Beiträge seit 2005
vor 17 Jahren
Speichersparend

Ein paar Tipps zum Thema Hauptspeicherbenutzung reduzieren und Performanz im allgemeinen:*Für statuswahrende Klassen die Systemressourcen anfordern (Dateien, DB-Verbindungen, LDAP-Aufrufe, etc.) IDisposable implementieren und auch anwenden *XML-Dokumente mit XmlReader/XmlWriter lesen/bearbeiten, statt ein speicherfressendes XmlDocument zu verwenden. *Bei SQL-Abfragen immer nur so viele Zeilen und Spalten zurückgeben, wie tatsächlich benötigt werden. *Keine Zirkelverweise in Objektmodellen bauen (Child verweist auf Parent und Parent wieder auf Child) *COM-Objekte mit Marshal.ReleasComObject freigeben, wenn sie nicht mehr benötigt werden.

89 Beiträge seit 2006
vor 17 Jahren

Original von Rainbird
Keine Zirkelverweise in Objektmodellen bauen (Child verweist auf Parent und Parent wieder auf Child)

Wuerde mich ueber eine genaue Erlaeuterung freuen 🙂 Denn ich fuer meinen Teil verwende sehr oft (z.b. bei einer GUI) solche Verweise.


Widget parent;
List<Widget> childs;

Bin ja fuer jeden Vorschlag offen!

906 Beiträge seit 2005
vor 17 Jahren

im MSDN-Magazin gbs mal einen guten Artikel darüber. Schau mal nach Objekt-Pooling.

T
512 Beiträge seit 2006
vor 17 Jahren

Speicheroptimierung in C# fußt immer auf Wissen über den Garbage Collector.

Ich schlag vor du machst dich dahingehend schlau. Wie arbeitet der Garbage Collector, wann sammelt er, was sammelt er, und wie macht man seine Arbeit schwerer.

Ansonsten wäre auch das Thema Stack vs Heap nicht ganz uninteressant.

Aber gleich vorweg, um da was rauszuquetschen muss man sich schon ziemlich reinknien, und erhält am Ende nicht viel Nutzen. .NET Programme belegen Speicher, wenn er gebraucht wird, und geben ihn erst frei, wenn er von jemand anderem gebraucht wird. Wenns nur um pure Zahlen geht und nicht um messbare Effektivität, wirst du es da eher schwer haben.

e.f.q.

Aus Falschem folgt Beliebiges