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++
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
- Markus Schaaf (22.09.2006 11:20)
