Hallo,
hat jemand Tipps bzw. ein How-To, was man beachten muss, dass man speichersparend programmiert?
Bye
Daniel
was meinst ? Arbeitsspeicher Festplattenspeicher? Was willst programmieren ?
In .net kann man super programmieren. Aber bestimmt nicht Speicher sparend.
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.
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!
im MSDN-Magazin gbs mal einen guten Artikel darüber. Schau mal nach Objekt-Pooling.
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