Laden...

Große Anzahl von Daten in List<T> ok? Oder Daten einzeln / in Häppchen verarbeiten?

Erstellt von sergioo vor 12 Jahren Letzter Beitrag vor 12 Jahren 815 Views
S
sergioo Themenstarter:in
27 Beiträge seit 2010
vor 12 Jahren
Große Anzahl von Daten in List<T> ok? Oder Daten einzeln / in Häppchen verarbeiten?

Hallo Leute,

ich habe die Aufgabe eine binäre Datei einzulesen und die gelesenen Daten im Programm weiter zu nutzen. Daher habe ich nun die Frage ob es sinnvoll ist die kompletten Daten einzulesen und die Objekte in einer generischen Liste zu speichern.
Durch die große Anzahl von Daten (bis 25000 Datensätzen) stellt sich die Frage ob dies sinnvoll ist oder ich besser nur einen Teil laden und gegebenfalls die Daten nachlade.
Da ich wenig Erfahrung mit dem Umgang von großen Datenmengen habe würde mich eure Meinung und Ideen interessieren.

Vielen Dank für eure Hinweise.

sergioo

3.430 Beiträge seit 2007
vor 12 Jahren

Hallo sergioo,

das kommt immer drauf an wie groß die Datensätze sind.
Wenn es nur ein Byte ist dann hast du gerade mal 25KB in der Liste 😃

Aber bei großen Dateien ist es meist besser wenn man nur das lädt was man auch braucht.
D.h. das was man auch anzeigt. Wenn du zum Beispiele eine Logdatei hast und diese anzeigen willst dann ist es besser wenn du einfach einen kleinen Ausschnitt aus der Datei liest. Wenn der Benutzer nun weiterscrollt dann lädst du einfach weitere Ausschnitte nach.

Gruß
Michael

S
sergioo Themenstarter:in
27 Beiträge seit 2010
vor 12 Jahren

Danke für den Hinweis! Die Dateien sind so ca. 6-20 MB groß!
Also ist die Größe der einzelnen Daten doch überschaubar. Ich denke ich sollte
erstmal mit dem gesamten Laden der Daten starten.

Danke

Gelöschter Account
vor 12 Jahren

25.000 Datensätze sind zwar schon recht viele aber noch lange nicht so viel, das es relevant wäre.

wichtig ist zwecks Performance nur, das du nach Möglichkeit die Liste schon recht groß vorinitialisierst. Nach Möglichkeit schon so, das sie nicht mehr weiter vergrößert werden muss.

Wenn es nur ein Byte ist dann hast du gerade mal 25KB in der Liste 😃

Nicht ganz 😃
Minimum sind 4 Byte unter C# daher wären es ca. 100KB (Umrechnung erfolgt ja mit 1024 aber die Liste selber hat ja auch noch Overhead) aber dennoch kaum erwähnenswert.

edit: oh sry... bool/byte.. naja fängt ja beides mit b an 😃

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo JAck30lena,

würde mich sehr wundern, wenn für ein byte-Array/eine byte-Liste mehr als ein byte pro Element verbraucht werden würde, abgesehen natürlich von dem schon erwähnten Overhead für die Liste selber. Möglicherweise verwechselst du das mit bool-Arrays. Da sind es glaube ich 4 Byte pro Eintrag.

Hallo sergioo,

was du fragst ist im Grunde nur eine Variante von Wie programmiert man effektiven Code?. Kurze Antwort: Machs so, wie es sich am einfachsten programmieren lässt.

herbivore