Ich muss häufig Dateien komprimieren, die einander sehr ähnlich sind.
Derzeit verwende ich 7Zip, das eine 16-GB-Datei mit 8 Kernen mit Ultra-Einstellungen in etwa 35 Minuten auf 1,2 GB komprimiert.
Es scheint mir, dass ein Großteil dieser Zeit für die Berechnung des Wörterbuchs zur Komprimierung aufgewendet wird. Da die Dateien sehr ähnlich sind, ist das tatsächlich verwendete Wörterbuch wahrscheinlich auch ähnlich.
Gibt es ein Windows-basiertes Komprimierungstool (7Zip mit einer mir nicht bekannten Option oder ein anderes Tool), mit dem das Wörterbuch gespeichert und das gespeicherte Wörterbuch für nachfolgende Dateien wiederverwendet werden kann?
Gibt es eine bessere Möglichkeit, das Problem der Beibehaltung eines ähnlichen Komprimierungsverhältnisses wie bei einer deutlich schnelleren Komprimierung anzugehen?
quelle
Im Gegensatz zum DEFLATE-Algorithmus verwendet LZMA von 7-Zip standardmäßig eine solide Komprimierung, die die Redundanz zwischen Dateien nutzt. Dies funktioniert mit Standardeinstellungen, solange die Dateien klein genug sind.
Mit den Standardeinstellungen von 2 GB für die Solid Block-Größe wird eine 16-GB-Datei tatsächlich als 8 separate Blöcke komprimiert.
Wie @Breakthorugh bereits sagte, wird das Wörterbuch im laufenden Betrieb generiert. Sie können dies empirisch überprüfen, indem Sie die Größe des Solid-Blocks auf Solid (alle Dateien gleichzeitig komprimieren) und Non-Solid (jede Datei separat komprimieren ) einstellen .
Das Erhöhen der Solid Block-Größe führt tatsächlich zu einer Verlangsamung, kann jedoch zu einem viel besseren Komprimierungsverhältnis führen. Wenn Sie beispielsweise zwei identische Dateien komprimieren, wird das Archiv bei nicht fester Komprimierung fast doppelt so groß.
quelle