La compressione massima per i file (per il trasferimento dal web)?

Ho visto alcuni file altamente compressi in giro, come 700MB di dati compressi a circa 30-50MB.

Ma come si ottiene tali file compressi? Ho provato a utilizzare software come WinRAR e 7Zip, ma non ho mai ottenuto una compressione così alta.

Quali sono le tecniche / software che ti consentono di comprimere i file così bene?

(PS sto usando Windows XP)

Se il tempo necessario per comprimere i dati non è un problema, è ansible ottimizzare la dimensione compressa utilizzando diversi strumenti diversi.

Comprimi i dati più volte utilizzando strumenti diversi come 7zip, winrar (per zip) e bjwflate.

(Notare che questo non significa comprimere il file zip più e più volte, ma piuttosto creare un certo numero di file zip alternativi utilizzando strumenti diversi)

Quindi, eseguire deflopt su each archivio per ridurre un po 'di each archivio.

Infine, eseguire zipmix sulla raccolta di archivi. Poiché diversi strumenti di zip sono migliori su file diversi, zipmix sceglie la migliore versione compressa di ciascun file da ciascuno degli archivi e produce un'output inferiore a quella che uno qualsiasi degli strumenti zip potrebbe avere prodotto singolarmente.

Devi tuttavia notare che questo non è garantito per operare qualsiasi tipo di magia sui file. Alcuni tipi di dati non si comprimono molto bene, come JPEG e MP3. Questi file sono già compressi internamente.

Ciò dipende interamente dai dati che vengono compressi.

Il text si compresse molto bene, i formati binari non così bene ei dati compressi (mp3, jpg, mpeg) non sono affatto.

Ecco una buona tabella di confronto di compressione da wikipedia.

Le risposte precedenti sono sbagliate per un ordine di grandezza!

Il miglior algorithm di compressione che ho esperienza personale è paq8o10t (vedi pagina zpaq e PDF ).

Suggerimento: il command per comprimere file o cartelle sarebbe come:

paq8o10t -5 archive files_or_folders 

Dimensioni di archivio rispetto al tempo di compressione e estrazione di 10 GB (79.431 file) su un disco rigido USB esterno alle impostazioni predefinite e massime su un portatile Dell Latitude E6510 (Core i7 M620, ipertestri da 2 + 2, 2,66 GHz, 4 GB, Ubuntu Linux , Vino 1.6). Dati da 10 GB Benchmark (sistema 4).

Fonte: Utilità di backup e archiviazione incrementale di journaling

È ansible trovare uno specchio del codice sorgente su GitHub .


Un algorithm di compressione leggermente migliore, e vincitore del Premio Hutter , è decomp8 (vedi link alla pagina del premio). Tuttavia, non esiste un programma di compressione che si possa effettivamente utilizzare.


Per i file veramente grandi, lrzip può get rapporti di compressione semplicemente comici .

Un esempio da README.benchmarks:


Prendiamo sei alberi del kernel una versione separata come tarball, linux-2.6.31 a linux-2.6.36. Questi mostreranno un sacco di informazioni ridondanti, ma centinaia di megabyte a parte, che lrzip sarà molto buono a compressione. Per semplicità, solo 7z verranno confrontati poiché questo è di gran lunga il miglior compressore a scopo generale:

Questi sono i benchmark eseguiti su un core Intel Core2 da 2.53Ghz con 4GB con lrzip v0.5.1. Si noti che era in esecuzione con uno userspace a 32 bit e quindi solo 2 GB di indirizzamento era posibile. Tuttavia il benchmark è stato eseguito con l'opzione -U permettendo l'integer file di essere trattato come una grande window di compressione.

Tarball di 6 piante consecutive di kernel.

 Compression Size Percentage Compress Decompress None 2373713920 100 [n/a] [n/a] 7z 344088002 14.5 17m26s 1m22s lrzip 104874109 4.4 11m37s 56s lrzip -l 223130711 9.4 05m21s 1m01s lrzip -U 73356070 3.1 08m53s 43s lrzip -Ul 158851141 6.7 04m31s 35s lrzip -Uz 62614573 2.6 24m42s 25m30s 

Squeezechart.com contiene i confronti di varie tassi di compressione. Anche se, come affermato dalla risposta di Nifle, è improbabile che si ottiene così elevati tassi di compressione per i formati binari.

La maggior parte degli strumenti di compressione dispone di impostazioni per consentire di get una velocità di compressione più elevata a un compromesso di tempi di compressione / decompressione più lenti e di utilizzo più RAM.

Per 7-Zip, cercare "Aggiungi nella window di dialogo Archivio" nella guida integrata per ulteriori dettagli.

È ansible provare 7zip con le seguenti impostazioni ultra:

 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on big_file.mysql.7z big_file.mysql 

Basta controllare il riepilogo dei test di test di compressione multipli di file che hanno la migliore list di compressioni che costituiscono il benchmark completo di compressione.

Top 30

immettere qui la descrizione dell'immagine

I migliori esecutori (sulla base della compressione) in questo test sono PAQ8 e WinRK (PWCM). Sono in grado di comprimere il testset di 300+ Mb a less di 62 Mb (riduzione del 80% della dimensione) ma richiedono un minimo di 8,5 ore per completare la prova. Il programma numero uno (PAQ8P) richiede quasi 12 ore e il numero quattro (PAQAR) anche 17 ore per completare la prova. WinRK, il programma con la seconda compressione migliore (79,7%) dura circa 8,5 ore. Non sorprende che tutti i programmi citati usino un motore PAQ (come il tipo) per la compressione. Se si dispone di file con immagini incorporate (ad es. File di Word DOC) utilizzare PAQ8, li riconoscerà e le compresse separatamente, aumentando significativamente la compressione. Tutti i programmi menzionati (ad exception di WinRK) sono gratuiti.

La tua scommessa migliore qui sembra essere prova ed errore. Prova tutte le tecniche di compressione disponibili su each file e scegli il meglio per mettere sul tuo sito web. Fortunatamente i computer fanno questo tipo di cose abbastanza velocemente e non si annoiano. Si potrebbe scrivere un semplice script per automatizzare il process in modo che sarebbe "relativamente indolore".

Non aspettatevi miracoli – 700 mb fino a 30 mb semplicemente non accade spesso. File di log come sopra indicato – sì. "Il tuo file medio" – nessun modo.

Nanozip sembra avere la massima compressione insieme a FreeArc. Ma non è ancora nella versione finale. C'è una buona compressione che Nanozip raggiunge . Ha compressione molto elevata e non richiede troppo tempo, controlla il riepilogo dei test multipli di compressione dei file , ma FreeArc è più veloce.