如果我想我有N個不同大小的文件。 如果我使用ZIP或7ZIP等壓縮算法,壓縮單個壓縮文件和所有壓縮文件的大小是否有差異?歸檔個人文件和全部文件組的最佳選擇是什麼?
換句話說,如果f(i)是I-文件,和C(F(1))=壓縮文件是真實的:[C(F(1)中,f的
大小( 2),...,f(n))] == [C(f(1))+ ... + C(f(n))]
如果我想我有N個不同大小的文件。 如果我使用ZIP或7ZIP等壓縮算法,壓縮單個壓縮文件和所有壓縮文件的大小是否有差異?歸檔個人文件和全部文件組的最佳選擇是什麼?
換句話說,如果f(i)是I-文件,和C(F(1))=壓縮文件是真實的:[C(F(1)中,f的
大小( 2),...,f(n))] == [C(f(1))+ ... + C(f(n))]
如果這些文件有一些相似性,那麼對於一個「固定」檔案可能會有一個明顯的優勢,它將文件放在一個序列中,並將它們壓縮爲一個大文件,如.tar.gz
文件,而不是壓縮每個文件單獨存在,如.zip
。
如果文件很小,優勢更大。
我剛剛對一小組文件進行了快速測試,其中.tar.gz
比.zip
文件小15%,內容相同。兩者都以相同的壓縮級別使用相同的壓縮算法進行壓縮。
有壓縮標題要考慮。這將是一些字節數,加上每個文件的開銷。不知道什麼叫真正的數字,但是做了一些數字:
100 bytes - zip overhead
10 bytes - per-zipped file data
10 files, each zipped invidually: 10x100 + 10x10 = 1100 bytes overhead
10 files, all in a single zip file: 1x100 + 10x10 = 200 bytes overhead
,這就是完全從能夠從具有單一的所有10個文件的更大的數據集打造「更嚴格的」壓縮字母忽略任何效率。壓縮。