fastlz
fastlz是乙個高效的輕量級壓縮解壓庫,其官方測試資料如下表:
1gb文字資料測試:
官方**:
lzo/minilzo
lzo是乙個開源的無失真壓縮c語言庫,其優點是壓縮和解壓縮比較迅速占用記憶體小等特點(網路傳輸希望的是壓縮和解壓縮速度比較快,壓縮率不用很高),其提供了比較全的lzo庫和乙個精簡版的minilzo庫,網上測試資料如下:
測試的時候使用bmp和文字檔案,在x86的linux虛擬機器(單核256m記憶體,debian 6.0 os)上測試。
測試檔案
原始大小
壓縮後大小
壓縮率
壓縮時間
解壓時間
1.bmp
5292054
3.01%
9.174ms
23.037ms
2.bmp
6912056
33806
0.489%
8.33ms
36.17ms
3.bmp
6220856
5101891
82%25.78ms
28.43ms
lzo.tar
6645760
2457890
36.98%
34.68ms
38.62ms
kdoc.tar
41.93%
102.86ms
108.2ms
kinc.tar
5684927
31.13%
106.87ms
113.86ms
官方**:
來自《hbase: the definitive guide》中的乙個對比:
algorithm
% remaining
encoding
decoding
gzip
13.4%
21 mb/s
118 mb/s
lzo20.5%
135 mb/s
410 mb/s
22.2%
172 mb/s
409 mb/s
01 霍夫曼編碼 無失真壓縮
在計算機中,霍夫曼編碼使用變長編碼表對源符號 如檔案中的乙個字母 進行編碼,其中變長編碼表是通過一種評估 符號出現機率的方法得到的,出現機率高的字母使用較短的編碼,反之出現機率低的則使用較長的編碼,這便使編碼之後的字串的平均長度 期望值降低,從而達到無失真壓縮資料的目的。初始化,將符號概率按大到小進...
2020編碼大賽(3)無失真壓縮演算法
無失真壓縮演算法,按照我的理解,可以分為三大塊知識 直接編碼 轉換 上下文編碼。一,直接編碼 1,哈夫曼編碼 哈夫曼編碼就是把各個字元轉換成不同長度的01串,按照固定的替換規則全文替換即可。當然,哈夫曼編碼的依據,可以是硬編碼的,也可以是根據文字內容統計計算出來的。2,算術編碼 區間編碼 這2個編碼...
基於實現霍夫曼編碼的無失真壓縮 C 實現
1 把任務十中的文字字元轉為國標碼,計算共需要多少位元。2 用你所學的方法 霍夫曼編碼 遊長編碼或算數編碼 壓縮這些字元,得到的壓縮碼流共計多少位元。說明資料的冗餘度在 3 手動編碼也可以。最好程式設計實現壓縮。1 漢字機內碼 區位碼 國標碼簡介 漢字的機內碼是漢字在計算機漢字系統內部的表示方法,是...