PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 7zip - Dictionary size


HeldImZelt
2009-07-06, 21:04:46
Hallo,
ich habe zwei Dateien, die fast identisch sind, bzw. nur an einer bestimmten Stelle geringfügig andere Unterschiede aufweisen. Zu 99% sind die Dateien bitgleich. Sie sind jeweils ungefähr 100MB groß.

Jetzt wollte ich diese Dateien mit 7zip packen, da dieses sehr große Dictionary Größen erlaubt. Meine Theorie war, eine Wörterbuchgröße größer als die Datei zu wählen, damit die 2.Datei dadurch repliziert werden kann.

Dies geschah nicht. Es kam ein fast 200MB großes 7zip file dabei raus.

Die Einstellungen waren 7z, Normal, PPMd, 256MB (dictionary), 32 (word), 4GB (solid block size).

Ich weiß, dass es funktioniert. Ich habe schon öfter solche Dateien erstellt, nur nicht in dieser Größenordnung von 100MB. Bei LZMA kann nur eine Wörterbuchgröße bis 64MB gewählt werden, bei Wikipedia steht aber sie ginge bis 4GB(?) (http://en.wikipedia.org/wiki/7-Zip). Ich habe für diesen Fall PPMd gewählt, hilft aber nicht.

Kann man da was machen oder sind solch Große Dateien nicht in dieser Form zu komprimieren?

Edit: Ich habe eine Datei angehängt, die demonstriert was ich meine. Sie enthält Daten von über 20MB bei einer Größe von gerade mal 24kb. Alle Dateien sind mit Random data gefüllt und identisch.

h'lore
2009-08-19, 10:57:22
Bei mir funktioniert das von dir gewünschte Verhalten. Bei LZMA kann ich eine Wörterbuchgröße bis zu einem GiB auswählen, 7-Zip-Version ist die 4.65 für AMD64. Aus zwei identischen Dateien zu je 100 MiB wird ein 101 MiB großes 7z-Archiv. Bis auf den gewählten Kompressionsalgorithmus (LZMA statt PPMd) entsprechen meine Einstellungen den deinigen.

Wähle ich hingegen auch PPMd aus, tritt genau das von dir beschriebene Verhalten ein. Das entstehende Archiv ist mit 203 MiB sogar größer als die Summe der Quelldateien. Dazu ist der Kompressionsvorgang auch noch stinklangsam. Suche lieber nach der Ursache dafür, dass du die Wörterbuchgröße für LZMA nicht höher als 64 MiB setzen kannst. Welche 7-Zip-Version nutzt du eigentlich? Die 4.65 oder eine der neueren Betas? IA32 oder AMD64?

edit: Ooops, hatte das Alter des Threads übersehen. Immerhin steht er noch auf Seite 1. ;)

reallord
2009-08-19, 11:36:43
Ich hab bei der aktuellen 7zip unter Win7 x64
LZMA bis 1024MB
PPMd bis 1536MB

Mögliche Ursachen könnten ein x86 OS oder wenig Ram sein?

pest
2009-08-19, 12:06:20
bei einer solchen Konstellation ist LZMA die bessere Wahl, da versagt PPMd (auch mit XXGB Memorpool)

HeldImZelt
2009-08-19, 15:56:52
Die genauen Anforderungen lauten wie folgt:
Funktioniert nur mit LZMA. Der benötigte Speicher von 7zip liegt etwas über Faktor 10 (128MB > 1.5GB Ram). In dieser Größenordnung haben die 32Bit Versionen meist Probleme mit 'Address space fragmentation', daher wird schon softwareseitig präventiv eingeschränkt. 64Bit mit 1.5GB Ram sind für den o.g. Fall nötig.

Rooter
2009-08-19, 20:46:06
Heute ist übrigens WinRAR 3.90 Final geworden, das gibt es jetzt auch als 64bit Variante. Wobei mir nicht klar ist was das bringen soll bei nach wie vor nur 4 MB Dictionary Size... :usad:

MfG
Rooter