在单个1T文件上计算md5,或者在100个10G文件上计算,哪个更快?还是速度一样?
Calculate md5 on a single 1T file, or on 100 10G files, which one is faster? Or the speed are the same?
我的本地机器上有一个 1T 的巨大文件,远程服务器上有一个。我需要计算它们的 md5 以检查它们是否完全相同。由于从它们计算md5需要很长时间,所以我想研究一下md5速度。我可以直接对整个文件计算 md5,或者将它分成 100 个 10G 文件并在它们上计算 md5。我想知道哪个更快,或者它们的速度相同?
正如我在评论中试图说的那样,这将取决于很多因素,例如您的磁盘子系统的速度、您的 CPU 性能等等。
这是一个例子。创建一个 120GB 的文件并检查其大小:
dd if=/dev/random of=junk bs=1g count=120
ls -lh junk
-rw-r--r-- 1 mark staff 120G 5 Oct 13:34 junk
一次校验和:
time md5sum junk
3c8fb0d5397be5a8b996239f1f5ce2f0 junk
real 3m55.713s <--- 4 minutes
user 3m28.441s
sys 0m24.871s
10GB 块的校验和,并行 12 CPU 个内核:
time parallel -k --pipepart --recend '' --recstart '' --block 10G -a junk md5sum
29010b411a251ff467a325bfbb665b0d -
793f02bb52407415b2bfb752827e3845 -
bf8f724d63f972251c2973c5bc73b68f -
d227dcb00f981012527fdfe12b0a9e0e -
5d16440053f78a56f6233b1a6849bb8a -
dacb9fb1ef2b564e9f6373a4c2a90219 -
ba40d6e7d6a32e03fabb61bb0d21843a -
5a5ee62d91266d9a02a37b59c3e2d581 -
95463c030b73c61d8d4f0e9c5be645de -
4bcd7d43849b65d98d9619df27c37679 -
92bc1f80d35596191d915af907f4d951 -
44f3cb8a0196ce37c323e8c6215c7771 -
real 1m0.046s <--- 1 minute
user 4m51.073s
sys 3m51.335s
在我的机器上花费 1/4 的时间,但你的里程会有所不同...取决于你的磁盘子系统,你的 CPU 等
我的本地机器上有一个 1T 的巨大文件,远程服务器上有一个。我需要计算它们的 md5 以检查它们是否完全相同。由于从它们计算md5需要很长时间,所以我想研究一下md5速度。我可以直接对整个文件计算 md5,或者将它分成 100 个 10G 文件并在它们上计算 md5。我想知道哪个更快,或者它们的速度相同?
正如我在评论中试图说的那样,这将取决于很多因素,例如您的磁盘子系统的速度、您的 CPU 性能等等。
这是一个例子。创建一个 120GB 的文件并检查其大小:
dd if=/dev/random of=junk bs=1g count=120
ls -lh junk
-rw-r--r-- 1 mark staff 120G 5 Oct 13:34 junk
一次校验和:
time md5sum junk
3c8fb0d5397be5a8b996239f1f5ce2f0 junk
real 3m55.713s <--- 4 minutes
user 3m28.441s
sys 0m24.871s
10GB 块的校验和,并行 12 CPU 个内核:
time parallel -k --pipepart --recend '' --recstart '' --block 10G -a junk md5sum
29010b411a251ff467a325bfbb665b0d -
793f02bb52407415b2bfb752827e3845 -
bf8f724d63f972251c2973c5bc73b68f -
d227dcb00f981012527fdfe12b0a9e0e -
5d16440053f78a56f6233b1a6849bb8a -
dacb9fb1ef2b564e9f6373a4c2a90219 -
ba40d6e7d6a32e03fabb61bb0d21843a -
5a5ee62d91266d9a02a37b59c3e2d581 -
95463c030b73c61d8d4f0e9c5be645de -
4bcd7d43849b65d98d9619df27c37679 -
92bc1f80d35596191d915af907f4d951 -
44f3cb8a0196ce37c323e8c6215c7771 -
real 1m0.046s <--- 1 minute
user 4m51.073s
sys 3m51.335s
在我的机器上花费 1/4 的时间,但你的里程会有所不同...取决于你的磁盘子系统,你的 CPU 等