當前位置:成語大全網 - 書法字典 - 文件解壓和壓縮的速度是多少?

文件解壓和壓縮的速度是多少?

主流機械硬盤bai的速度約為50-150MB/s,duSSD的速度約為150-500 MB/s,主流CPU(帶智水線)和內存的速度約為硬盤的100~1000倍。

換句話說,如果壹個解壓縮算法平均解壓縮壹個字節消耗的指令不到100,那麽硬盤的速度就很難趕上CPU的速度;如果解壓縮壹個字節平均消耗的指令數小於1000,那麽大部分機械硬盤很難趕上CPU的速度。所以,瓶頸在哪裏,主要看解壓過程中的CPU負擔。

通常zip的解壓字典只有32K或者64K,而且解壓過程中並不是每次都搜索完整的字典,所以默認配置下zip很難占用CPU。如果考慮多核,每個核的負擔可以更低,磁盤IO的負擔會更重,瓶頸效應會更明顯。如果想讓CPU成為瓶頸,就需要調整壹些壓縮策略。

比如:1。字典比較大,搜索速度會比較慢。如果字典大於內存就更好了(7zip最多可以配置1G的字典)。2.文件的信息熵要足夠大,換句話說,文件本身更難壓縮,比如壓縮後的視頻文件,那麽解壓時查字典的負擔會更重。3.解壓到內存,或者至少SSD。4.壓縮時選擇用AES-256加密。5.挑壹個性能弱的CPU解壓。如果滿足以上條件,CPU就可以成為瓶頸。

但是這樣的條件很難達到,因為滿足上述條件會使壓縮過程非常緩慢。以7zip的LZMA2算法為例,當字典分配為1G,線程數為16時,壓縮所需內存約為88G,大部分PC的內存都不夠用。在超級計算機上壓縮,在普通計算機上解壓,可能會把CPU吃掉。

壹般來說,解壓文件的瓶頸是硬盤,只有在某些特定場景下,CPU才會成為瓶頸。

還有壹點:如果提取的文件是零碎的、小的,那麽速度是沒有參考價值的。小文件的實際寫開銷遠大於文件的實際大小。