大家好,今天小编关注到一个比较有意思的话题,就是关于1g字典跑多久的问题,于是小编就整理了3个相关介绍的解答,让我们一起看看吧。
1g是多少毫克?
1g是1000毫克。
毫[háo]汉语汉字
毫是一个汉语汉字,读音为 háo,指细长而尖的毛。
康熙字典〔古文〕《广韵》《集韵》《韵会》《正韵》𠀤胡刀切,音豪。长锐毛也。《老子·道德经》合抱之木,生於毫末。《前汉·鲍宣传》有益毫毛。
解压文件的时候有三种选择都有什么不同啊?
主流的机械硬盘速度大概在50-150MB/s之间,SSD大概是150-500MB/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才会成为瓶颈。
补充一点:如果解压的是零碎的小文件,速度没有参考价值。小文件的实际写入开销比文件实际大小要大的多。
参考:
解压缩的速度和什么有关? - 计算机
解压缩操作为什么不吃CPU? - 计算机
硬盘速度和网络速度的关系?
主流的机械硬盘速度大概在50-150MB/s之间,SSD大概是150-500MB/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才会成为瓶颈。
补充一点:如果解压的是零碎的小文件,速度没有参考价值。小文件的实际写入开销比文件实际大小要大的多。
参考:
解压缩的速度和什么有关? - 计算机
解压缩操作为什么不吃CPU? - 计算机
到此,以上就是小编对于1g的字典要多久跑完的问题就介绍到这了,希望介绍的3点解答对大家有用。