nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: STL ohne dynaischen Speicher

Von: Martin Kaul (mkaul@leuze.de) [Profil]
Datum: 22.09.2006 09:10
Message-ID: <45138c65$0$425$4d4ebb8e@read.news.de.uu.net>
Newsgroup: de.comp.lang.iso-c++
Markus Schaaf wrote:
> Nein, Du scheinst es nur nicht zu verstehen. Ein "üblicher"
> Heap mit maximaler Fragmentierung (im Sinne von "schlecht"
> für dieses konstruierte Problem) bräuchte 10*1024+931 Byte
> an Gesamtspeicher um in jeder erdenklichen Situation mit
> Deinem Algorithmus mithalten zu können. Das ist aber nur
> ein Implementationsdetail, kein Nachteil. Denn in 1001er
> anderen Situation wäre der andere Heap im Vorteil, etwa
> weil er 1000*10 Byte allozieren könnte (wenn 10 ein Viel-
> faches der Maschinenwortlänge wäre) usw.
Ich bin natürlich kein Experte für Speicherallokierung und -verwaltung -
wieder was gelernt :-)

Das einzige was ich will ist, dass unser Gerät nicht nach n-Jahren
Dauerbetrieb ausfällt, weil das RAM "zerfressen" ist. Hierzu wird
dynamischer Speicherallokierung zur Laufzeit verboten und nur für
Ausnahmen (wie z.B. std::string Instanz lokal in einer Funktion) ein
kleiner "Rest" an dynamischer Allokierung zugelassen. Wenn irgend jemand
von den Entwicklern doch zur Laufzeit Speicher allokiert und nicht mehr
freigibt, fällt das schnell auf, da der zur Laufzeit verfügbare Speicher
ziemlich klein gehalten wird.

Hmm, damit kann ich dann ja meine 10 1024er Blöcke rausschmeissen
(wieder Code gespart :-) und für die Allokierung zur Laufzeit den Heap
verwenden. Damit dies aber nicht extensiv genutzt wird und überprüfbar
ist, könnte ich einen Zähler mitlaufen lassen, welcher bei einem
bestimmten Zählerstand einen Fehler erzeugt.

tschaule
Martin Kaul

[ Auf dieses Posting antworten ]

Antworten