ich eine Liste der folgenden Tupel in einem komprimierten Format gespeichert werden soll, und ich habe mich gefragt, welchen Algorithmus gibt mirBester Komprimierungsalgorithmus? (Siehe unten für die Definition der besten)
- kleinste komprimierte Größe
- schnellste de/Kompression
- tradeoff Optimum ("Knie" der Kompromißkurve)
sieht Meine Daten wie folgt aus:
(<int>, <int>, <double>),
(<int>, <int>, <double>),
...
(<int>, <int>, <double>)
Einer der beiden Ints bezieht sich auf einen Zeitpunkt und es ist sehr wahrscheinlich, dass die Zahlen, die in einer Liste enden, nahe beieinander liegen. Das andere int stellt eine abstrakte ID dar und die Werte sind weniger wahrscheinlich nah, obwohl sie auch nicht völlig zufällig sind. Das Double repräsentiert eine Sensorablesung und obwohl es eine Korrelation zwischen den Werten gibt, ist es wahrscheinlich nicht von großem Nutzen.
Danke, dass ich darauf hingewiesen habe, ich bin sowieso mit PB serialisieren, also ist es eine natürliche Wahl in meinem Kontext. Würdest du wissen, ob sie wiederholte Muster mit kürzeren Sequenzen komprimieren? Ich kann RTF auch angeben, wenn nicht. ;-) –
Nein, das tut es nicht. Wenn Sie jedoch einen bestimmten Bedarf hatten, könnte ein 'bytes'-Member erstellt werden, der Daten enthält, die mit GZip oder ähnlichem komprimiert sind. Dies ist außerhalb der Spezifikation, so dass der Client/Server dies nur als ein Detail vereinbaren müsste. –
OK, das bedeutet, dass das Umordnen der Daten, um drei sortierte Listen für jedes Tupel-Mitglied statt einer Liste von 3-Tupeln zu erhalten, nichts bringt. –