Empfehlt mir einen Container
-
Danke für den Link, aber das eignet sich doch dann eigentlich die Spieleprogrammeriung mehr als normale Container. Es gibt kein hin- und herkopieren und nur was ich allokiere wird auch benötigt.
Ich denke ich versuchs mal mit boost::slist und schau mir dann die Performance an. Weil die meiste Zeit gehe ich meine Listen sowieso nur in eine Richtung durch.
-
Die doppelt verkettete intrusive List ist auch nicht viel langsamer.
BTW: willst du Zeiger auf die Objekte in die intrusive list stecken, oder dann die Objekte selbst? Die ganzen intrusive Container funktionieren ja auch mit abgeleiteten Klassen.
Wenn du die Objekte selbst in die intrusive list stecken kannst, dann bringt das vermutlich ein bisschen was.
-
hustbaer schrieb:
Die doppelt verkettete intrusive List ist auch nicht viel langsamer.
BTW: willst du Zeiger auf die Objekte in die intrusive list stecken, oder dann die Objekte selbst? Die ganzen intrusive Container funktionieren ja auch mit abgeleiteten Klassen.
Wenn du die Objekte selbst in die intrusive list stecken kannst, dann bringt das vermutlich ein bisschen was.
Hmm, naja ich erzeuge meine Objekte auf dem Heap. Hat den Grund, dass ich genau definieren muss wann diese zerstört werden damit keine Memory Leaks entstehen. Sprich, bevor der OpenGL Context zerstört wird.
Im prinzip steke ich da ja nur nen Zeiger darauf "rein". Aber bei "C"-Style verketteten Listen biegt man ja auch nur Zeiger hin und her.
Das Problem bei STL-Containern ist halt, dass diese nochmal kopieren.
Ich geb zu, ich habe so meine Probleme mit Containern...
-
@Scorcher24:
Wenn du das willst was C-Style Listen machen, dann sind die Boost.Intrusive Listen optimal für dich.Dann musst du aber wirklich die Objekte selbst in die intrusive List stecken, und nicht eine Hilfsklasse mit nur einem Zeiger.