Multi-Core
如果散列受 CPU 限制,如何檢查大文件的身份?
對於小文件,散列是可以的,但是對於大文件,你可以很容易地發現
md5sum
它是 CPU 限制的。是否有任何散列算法能夠在多核上橫向擴展?任何解決方法?想法?任何事物?:)
我自己目前最好的解決方案是:
parallel --block=512M --pipepart -a …HUGEFILE… --progress --recend '' \ -k -j …NUMofProcessesSay4… md5sum | md5sum
- 應當指出的是:
- 生成的 md5 雜湊不是文件的,而是其部分的 md5,但它仍然允許您比較副本是否與原點相同
- 它的性能也不是很好,特別是當您使用
pipe
而不是文件作為輸入時parallel
我--pipepart
發現不支持磁碟分區所以我也很想听聽其他方式。