Sorry für das späte Reply, ging leider nicht früher.
68 Byte pro Eintrag, das deckt ja noch nicht einmal eine URL ab. Ich habe mal einen Eintrag ausgezählt und bin locker über 500 Byte gelandet.
Selbst wenn das nicht für alle Einträge gilt, sind die 68 Byte pro Eintrag garantiert nicht zu erreichen, es sei denn, man arbeitet mit einem Dictionary wie vorgeschlagen und im Eintrag mit Indizes darauf. und selbst dann wird es ausgesprochen knapp, denn bei 20 Feldern sind das 3,4 Byte pro Feld. Ich vermute mal das hier im Hintergrund die Funktion MMap genutzt wird die eine Datei transparent in den Speicher mappt.
Außerdem sind es nicht 54 MB sondern über 500 MB wie Du selber am 09.3.2025 geschrieben hast
Dafür hat Gott Verrückte erschaffen die Kompressionsalgorithmen basteln. Die schaffen es auch jetzt schon, die 598MB große Filmliste auf 92 MB einzudampfen.
Das ist doch genau der Punkt bei dem Benchmark! Wenn Du wenig Operationen beim Parsen zusätzlich durchführen musst kriegst du deine 40-50% mehr speed. Musst Du jedoch ein paar string ops durchführen (was sehr wahrscheinlich ist) geht der performance so schnell runter dass kein benefit mehr da ist. Und genau das zeigt der benchmark.
Also selbst wenn es nur 30% sind ist das m.E. eine signifikante Steigerung. Stringops im Speicher sind sehr schnell, Erzeugung von Zufallszahlen sind deutlich langsamer.
Viele Grüße
Dexli