各算法壓縮行數(shù)與壓縮比例的比較
聲明
壓縮對(duì)象是一個(gè)大小為1.7M的csv文件,總共6829行,每行74列,即一行大小為261byte
使用全Double類(lèi)型(一個(gè)Double為8字節(jié))保存一行數(shù)據(jù)的話(huà),一行為592byte
使用更適合的數(shù)據(jù)類(lèi)型時(shí)(-125-124用Byte保存,浮點(diǎn)型用Float保存,其余用short保存,各別較大的整數(shù)用int保存),一行為143byte
以下圖分別是使用Double類(lèi)型時(shí)的壓縮算法各項(xiàng)比較
各算法壓縮行數(shù)與壓縮比例的比較

由上圖可知當(dāng)壓縮行數(shù)為40行時(shí),bzip壓縮比例達(dá)到11,gzip壓縮比例達(dá)到9

由上圖知,當(dāng)壓縮行數(shù)為150時(shí),gzip壓縮比例為10并收斂,而bzip壓縮比例在行數(shù)為500時(shí)達(dá)到18(行數(shù)為1000時(shí)壓縮比例為20,此處不畫(huà)出)
各算法壓縮行數(shù)與壓縮時(shí)間的比較

由上圖知,除bzip外,其余算法壓縮時(shí)間變化不大,且遠(yuǎn)下于bzip,bzip算法隨著壓縮行數(shù)增加,壓縮時(shí)間減少但仍然高于gzip
各算法壓縮行數(shù)與壓縮性?xún)r(jià)比(性?xún)r(jià)比:壓縮時(shí)間/壓縮比例),性?xún)r(jià)比越低越好


根據(jù)數(shù)據(jù)以及以上兩圖,gzip的壓縮性?xún)r(jià)比最好,bzip隨著壓縮行數(shù)增加,性?xún)r(jià)比提高,但仍比gzip差
通過(guò)上面比較可知,
壓縮能力Bzip > Gzip ≈ Snappy ≈ Lz4 ≈ Lzo
耗費(fèi)時(shí)間 Bzip > Gzip ≈ Snappy ≈ Lz4 ≈ Lzo
壓縮性?xún)r(jià)比 Gzip > Snappy ≈Lz4 ≈ Lzo >Bzip
使用更好的數(shù)據(jù)類(lèi)型再進(jìn)行一次比較(只比較Snappy、Bzip、Gzip)
壓縮行數(shù)與壓縮比例的比較

由上圖可知,bzip壓縮比例最好,在500行時(shí)達(dá)到5(不會(huì)再變化),gzip次之,在30行時(shí)達(dá)到3并收斂
壓縮行數(shù)與壓縮時(shí)間

由上圖可知,bzip壓縮耗時(shí)最多,并隨著壓縮行數(shù)增加而減少,但仍高于gzip
壓縮行數(shù)與壓縮性?xún)r(jià)比

由上圖可知,gzip與snappy壓縮性?xún)r(jià)比相近,而bzip壓縮性?xún)r(jià)比在行數(shù)達(dá)到150時(shí)接近bzip并收斂