Zeitliste?? Umsetzungsfrage??
-
Habe eine Liste
std::list<..> ZEITEN;weleche Zeitpunkte (sekunden) entland einer Zeitachse sortiert enthält. Die Zeitpunkte werden anhand von Zeit-Objekten welche die Zeiten repräsentieren ermittel.
Bsp. Liste mit 7 Elemente : ( t0 -> t76)
0, 2, 6, 19, 60, 61, 76Nun kann es vorkommen, das manche Zeit-Objekte gleiche zeiten enthalten, was nun meien frage ist:
Ist es Performancetechnischer (viel) schneller die gleiche nzeiten hintereinander ins die liste zu schreiben also so:
0, 2, 6, 6, 19, 60, 61, 76
oder pro zeitpunkt eine extra klasse machen, welche die refrenzen der objetke mit den gleichen zeiten enthält:
struct TimePoint{ std:List <XXX> TimeObjects double time; };und diese als objekte der Zeitliste defineirren?
[a] [b] [c,d] [e] [f] [g]
| | | | | |
0 , 2 , 6 , 19, 60, 61Hoffe ihr wisst was ich meine..
Die zweite Variante ist evtl. etwas eleganter
-
wenn du hauptsächlich über die disjunkten zeitabschnitte iterieren willst, dann ist die zweite variante schneller. solange die größeren objekte nicht kopiert werden müssen. aber das auch nur aus dem einfachen grund, dass der zugriff genau wie bei der liste mit doppeleinträgen funktioniert und es weniger einträge sind

wenn du alle zeitabschnitte zur verfügung brauchst, auch die doppelten, ist eine liste mit allen einträgen (erste variante) mit an sicherheit grenzender wahrscheinlichkeit schneller. um komplexere strukturen als speed-up für die datenhaltung zu rechtfertigen, muss diese schon dafür sorgen, dass die objekte anders organisiert sind oder das finden bestimmter objekte schneller wird. sieht mir hier aber nicht so aus, als wäre das der vater des gedanken gewesen.
-
die Objekte an sich werden schon über ine andere Liste (Klasse)verwaltet, udn existieren schon, die Zeitliste enthält lediglich einen Zeiger auf die Objekte.
Mein gedanke ist der: Später soll über ein Thread alls 500ms die liste abgefragt werden, und geschaut werden ob was zum aktuellen zeitpunkt passiert. Mann kann sich später die Zeit objekte als Zeitbalken vorstellen welche sic hentlang der zeit bewegen.