Autor Beitrag
berniebutt
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mi 20.07.16 16:43 
Also 1793 oder mehr Einträge für den nächsten Programmlauf merken. Das ist gewaltig viel!

1.Ansatz: In Datei (schreiben/lesen) packen

2.Ansatz: mehere Einträge in z.B. string-Variablen zusammenpacken und in properties speichern
z.B. 011000010001111 ( 0 steht für kain Haken, 1 für Haken )
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mi 20.07.16 17:58 
Bitte denkt euch niemals ein eigenes Datei-Format aus, NIEMALS!! :D
Außer es ist notwendig oder hat tatsächlich deutliche Vorteile, dann könnt ihr VIELLEICHT darüber nachdenken, euch ein eigenes Format auszudenken :D

Ansonsten immer ein gängiges Format nehmen, sprich XML, JSON, eine Datenbank, Binär, was weiß ich.
Bei einem eigenen Format, z.B. bitweise geschriebene Booleans, kommt ihr in Teufelsküche, wenn auf einmal mehr als nur Booleans geschrieben werden sollen.
Bevor ihr euch verseht, seid ihr mehr am Datei-FOrmat überarbeiten und Abwärtskompatibilität gewährleisten als ihr überhaupt das Format erweitert. Am Ende kommt ein Ding raus, wo kaum einer noch den Überblick hat und das extrem schwer zu erweitern und zu nutzen ist. Glaubt mir, ich weiß wovon ich da rede :D

Als einzig sinnvolle Anwendung sehe ich da nur den Fall, dass die Daten möglichst Platzsparend gespeichert werden sollen.
Da geht bitweises Schreiben von Booleans nicht mehr kleiner, allerdings reicht in den meisten Fällen auch sowas wie JSON aus, das hat weniger Overhead als XML ist aber ähnlich flexibel und Parser gibt es wie Sand am Meer.



Ach ja: 1793 Einträge klingt vielleicht viel, ist aber extrem wenig ;) Das ist auch bei XML so schnell eingelesen, das merkst Du gar nicht.
Lies mal eine XML-Datei mit der Größe von 10 GB ein, das wird lustig :D
Da hilft nur noch, die Daten in Teile zu "schneiden" und dann diese Teile einzeln zwischen zu speichern, vorausgesetzt das ist bei den Daten möglich.
Ansonsten liegen schnell mal 10 GB im Ram plus mindestens nochmal 10 GB für die Bearbeitung der Daten :D Also ich hab 8 GB RAM ...