自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CentOS 6.5 x86-64上的Linux壓縮工具大比拼

譯文
系統(tǒng) Linux
文件壓縮是老把戲:最先能夠壓縮文章的軟件之一是“SQ”,其歷史可以追溯到上世紀80年代初期,而第一款廣泛使用、眾所周知的壓縮工具恐怕非1989年發(fā)布的ZIP莫屬。

【51CTO精選譯文】今年,我想為各位讀者轉(zhuǎn)發(fā)Gionatan Danti所寫的一篇饒有意思的文章,這篇文章***發(fā)表于其個人博客http://www.ilsistemista.net/,但愿大家也與我一樣很喜歡這篇文章。

文件壓縮是老把戲:***能夠壓縮文章的軟件之一是“SQ”,其歷史可以追溯到上世紀80年代初期,而***款廣泛使用、眾所周知的壓縮工具恐怕非1989年發(fā)布的ZIP莫屬。

換句話說,壓縮文件以節(jié)省存儲空間不是什么新鮮事;雖然目前TB級別的低成本磁盤提供了龐大空間,但有時壓縮還是頗受歡迎,因為加密不僅縮減了存儲數(shù)據(jù)所需的空間,由于減少了寫入到存儲子系統(tǒng)或從存儲子系統(tǒng)讀取的數(shù)據(jù)量,甚至還能提升輸入/輸出性能。如果將越來越快的處理器速度與多少停滯不前的機械磁盤性能(當然固態(tài)硬盤是另一碼事)相比較,更是如此。

雖然壓縮算法和軟件各不一樣,但我們基本上可以分成兩大類:普通的無損壓縮工具和專門的有損壓縮工具。

后一類包括壓縮系數(shù)相當高的壓縮工具,只有當你想保護整個一般的信息,你又沒有興趣想準確呈現(xiàn)原始數(shù)據(jù)的每個比特,才通常使用它們。換句話說,你可以使用有損壓縮工具,用來存儲高分辨率照片或歌曲,而不是用來將壓縮后的可執(zhí)行文件存儲到磁盤上(可執(zhí)行文件需要逐個比特地***存儲),或者用來存儲文本日志文件(我們不想丟失文本文件方面的信息,是吧?)。

所以,如果是一般的使用場合,無損壓縮工具是不二的選擇。但是面對那么多可用的壓縮工具,該選擇哪個是好?有時候,不同的壓縮軟件使用同一種基本算法,或者甚至同一種庫實現(xiàn)方法,于是到底使用哪一種壓縮工具是相對不大重要的選擇。不過,在比較使用不同壓縮算法的壓縮工具時,選擇勢必是加權(quán)的選擇:你看重的是高壓縮比還是壓縮速度?換句話說,你是需要一種速度快、壓縮比低的算法,還是一種速度快,但壓縮比高的算法?

我們在本文中將介紹多款基于幾種不同壓縮庫的不同壓縮工具:

•lz4:一種新的高速壓縮軟件和算法。

•lzop:基于快速的lzo庫,實現(xiàn)了LZO算法。

•gzip和pigz(多線程gzip):基于zip庫,實現(xiàn)了ZIP算法。

•bzip2和pbzip2(多線程bzip2):基于libbzip2庫,實現(xiàn)了Burrows–Wheeler壓縮方法。

•7-zip:主要(但不是完全)基于LZMA算法。

•xz:另一種基于LZMA的軟件。

軟件、實現(xiàn)、庫和算法

在講解壓縮未經(jīng)處理的原始數(shù)據(jù)之前,不妨先闡述一下相關(guān)術(shù)語。

無損壓縮算法是一種數(shù)學算法,它定義了如何將特定的數(shù)據(jù)集縮減(壓縮)成比較小的數(shù)據(jù)集,但又不丟失信息。換句話說,它需要使用比原始版本更少的比特編碼信息,但又不丟失信息。要想做到有用,壓縮算法必須是可逆的――它應該讓我們能夠還原壓縮后的數(shù)據(jù)集,獲得原始源數(shù)據(jù)集的精確副本。不難看到基本功能(壓縮、壓縮比和壓縮速度)如何根源于算法本身,而不同算法的壓縮結(jié)果和適應范圍大不一樣。

下一步就是算法實現(xiàn)――簡而言之,用來表示壓縮算法的數(shù)學行為的實際代碼。這是另一個關(guān)鍵的步驟:比如說,向量化代碼或多線程代碼的速度比普通的單線程代碼要快得多。

如果某種代碼實現(xiàn)被認為足夠好,它常常以一種獨立的方式來封包化,形成壓縮庫。以一種獨立的庫來分化算法實現(xiàn)的優(yōu)點在于,你可以編寫好多不同的壓縮軟件,而不需要多次重新實現(xiàn)基本的算法。

***,我們有了壓縮軟件本身。壓縮軟件提供了命令行接口(CLI)或圖形用戶界面(GUI),把用戶和壓縮庫“結(jié)合”起來。

有時候,算法、庫和程序有同一個名稱(比如:zip)。而有時候,我們沒有獨立的庫,但它完全是在壓縮軟件里面編制的。雖然這有點讓人混淆,但上述內(nèi)容仍然適用。

總而言之,我們的基準測試將涵蓋算法、庫和軟件,如下所示:

 

測試平臺和方法

基準測試在搭載如下配置的系統(tǒng)上進行:

•PhenomII 940處理器(四核@ 3.0 GHz,1.8 GHz北橋和6 MB三級緩存)

•8 GB DDR2-800 DRAM(雙通道內(nèi)存模式)

•華碩M4A78 Pro主板(采用AMD 780G + SB700芯片組)

•4只500 GB硬盤(1只西部數(shù)據(jù)綠盤,3只希捷魚子醬),4只硬盤采用高級主機控制器接口(AHCI)模式,配置方式采用了軟件RAID 10“near”布局。

•操作系統(tǒng)CentOS 6.5 x64

我對兩種不同數(shù)據(jù)集的壓縮和解壓縮進行了計時:

1.含有未經(jīng)壓縮的CentOS 6.5 最小安裝/(root)映像(/boot不包括在內(nèi))的tar文件

2.含有Linux 3.14.1穩(wěn)定內(nèi)核的tar文件

為了避免磁盤子系統(tǒng)帶來的任何影響,我將兩個數(shù)據(jù)集都移到了使用內(nèi)存作為后備存儲器的/dev/shm目錄(你可以將它視作內(nèi)存虛擬盤)。

如果可能,我盡量將單線程結(jié)果與多線程結(jié)果分開來。不過,7-zip似乎沒有線程選擇選項;默認情況下,處理器提供多少硬件線程,它就能生成多少線程。于是,我用星號(*)來標記7-zip的結(jié)果。

許多壓縮工具可以進行某種調(diào)優(yōu)――比如說,選擇“-1”通常意味著比“-9”更快(但效果較差)的壓縮。我還在適用的地方試用了這些標記。

壓縮CentOS 6.5根映像文件

不妨先壓縮主要含有大量可執(zhí)行文件的數(shù)據(jù)集:最小的CentOS 6.5根映像文件來開始我們的分析??蓤?zhí)行文件和二進制文件常常可以縮減,盡管壓縮低有點偏低。

 

 

如你所見,無論是壓縮還是解壓縮,lz4和lzop都兌現(xiàn)了速度很快這一承諾――不過lz4是絕對的贏家。另一方面,它們的壓縮系數(shù)比較低。不過,要求它們提高壓縮比(通過“-9”參數(shù)選項符),它們的速度就會大幅慢下來,并不生成明顯更小的文件。

Gzip、尤其是bzip2的表現(xiàn)不是很好;雖然它們的壓縮系列更高(3X),但它們存在性能嚴重下降的不足。

7-zip和xz都有非常慢的壓縮速度,但有著很高的壓縮比和尚可接受的解壓縮速度。

切記:這些是單線程結(jié)果??梢允褂靡恍┒嗑€程壓縮軟件,讓擁有多核的現(xiàn)代處理器充分利用起來:

 

 

壓縮縮放:

 

 

Pigz、pbzip2和pxz得到的結(jié)果都遠勝于它們的單線程結(jié)果。不過,雖然壓縮縮放常常非常好,但只有pbzip2也能夠解壓縮加快。

#p#

壓縮linux內(nèi)核3.14.1源文件

源文件是文本文件,而文本文件一般有著非常好的壓縮比。不妨看一下這些壓縮軟件在壓縮linux內(nèi)核3.14.1 tar源文件時各自的表現(xiàn)如何:

 

 

雖然相對排名仍然一樣,但我們可以看到兩處區(qū)別:

1.不出所料,壓縮比更高一點。

2.與上一輪測試相比,lzop在壓縮時速度快得多。

現(xiàn)在看看多線程測試部分:

 

 

壓縮縮放:

 

 

壓縮縮放仍然很出色,而pxz名列末位。

結(jié)束語

從上述基準測試可以清楚地看出,每個壓縮軟件有其特定的使用場合:

•lz4和lzop非常適合實時壓縮或近實時壓縮,以非??斓乃俣?,提供了大幅節(jié)省空間的優(yōu)點。

•gzip、尤其是多線程pgiz版本,非常適合一般的使用場合:它既有相當高的壓縮比,速度也不慢。

•普通的單線程bzip2表現(xiàn)不是非常好:壓縮系數(shù)和速度都不如xz。只有出色的pbzip2多線程實現(xiàn)多少有所彌補。

•xz是壓縮比方面明顯的贏家,但它卻是壓縮和解壓縮方面速度較慢的軟件之一。如果你主要擔心的是壓縮比,而不是速度(比如在線存檔文件下載),那么選擇它不會有錯。

•7zip基本上是xz的衍生版本,但它的主要實現(xiàn)屬于窗口生態(tài)系統(tǒng)。在Linux下,只要使用xz,而不是7-zip。

 

英文:http://linuxaria.com/article/linux-compressors-comparison-on-centos-6-5-x86-64-lzo-vs-lz4-vs-gzip-vs-bzip2-vs-lzma

責任編輯:林師授 來源: 51CTO
相關(guān)推薦

2016-08-10 20:58:21

ARM架構(gòu)X86架構(gòu)CPU

2010-07-14 13:38:51

Perl開發(fā)工具

2010-04-21 12:54:46

Unix內(nèi)核

2010-03-18 14:54:46

主流無線技術(shù)

2015-07-02 09:15:02

2020-08-04 17:06:40

Merging Rebasing Git

2011-01-19 11:10:30

2009-07-02 18:50:43

2010-09-08 15:41:28

SIP協(xié)議棧

2014-01-07 17:08:02

Java開源框架

2017-09-10 14:29:03

眼力

2010-05-28 11:09:51

SVN功能

2021-03-15 21:07:17

IT行業(yè)薪酬薪水

2010-08-25 16:12:34

職場

2011-11-08 10:29:44

2023-05-26 15:53:48

MidjourneyAI圖像

2021-08-26 09:00:00

SaaS工具云服務

2014-11-13 10:46:19

私有云管理云管理工具企業(yè)云管理

2014-11-13 10:59:41

私有云管理私有云服務水平協(xié)議

2023-05-17 08:04:35

AI文案文案生成工具
點贊
收藏

51CTO技術(shù)棧公眾號