为什么计算校验和比检查它们慢?

时间:2018-07-28 14:16:34

标签: checksum sha

我使用shasum来计算一大堆文件的校验和。
我注意到这需要一些时间(find仅需要0.04s即可找到所有文件)。

$ time find /etc -exec shasum -a 1 {} \; >/tmp/chk.sum

real    3m49.969s
user    3m31.426s
sys     0m18.114s

$ wc -l /tmp/chk.sum
1177 /tmp/chk.sum

但是,当我随后继续验证校验和时。只需要一小部分时间。

$ time shasum -c /tmp/chk.sum |grep -v "OK"

real    0m0.574s
user    0m0.486s
sys     0m0.092s

我不明白。我的期望是它将花费大约。假设shasum将需要再次计算每个文件的校验和,执行检查所需的时间与首先计算校验和所花费的时间相同。显然不是。怎么会来?

0 个答案:

没有答案