AW: Float in zwei Integer zerlegen
21. Jun 2015, 12:37
Mal zurück zum Thema bzw. dem eigentlichen 'Sinn' der Frage.
1. Eine Liste mit +100k Werten enthält einen TDateTime-Wert.
2. Der Wert soll als Index bzw. Suchbegriff herhalten.
3. Beim speichern und wieder laden als JSON wird der TDateTime auf +/- 1 Sekunde gerundet.
Wg. (3) würde ich dann
a: JSON durch ein anderes Format ersetzen
b: JSON Beibehalten, aber den Suchbegriff ändern
Sagen wir mal, wir wollen JSON beibehalten. Dann könnte eine Lösung so aussehen: Jeder Record hat zusätzlich noch einen Wert 'ID', der erstens 4 Bytes lang ist und zweitens aus dem TDateTime gebildet werden kann. Dieser Wert muss ja nicht mit abgespeichert werden, solange er den +/- 1 Sekunde Fehler kompensieren kann. Ansonsten wird er eben mit abgespeichert.
Oder wir sagen uns: "Blöd, JSON taugt hier eben nicht". Dann können wir die Daten trotzdem sehr einfach ablegen, denn ich kann so einen Record 1:1 (mit Einschränkungen, also kein 'String', sondern nur 'String[X]' etc.) direkt in einen Stream kopieren. Oder ich schreibe mir meinen Reader/Writer für so ein Record mal eben selbst.
|