在我的Perl应用程序中,我需要比较文件的两个版本并检测它们是否已更改。
我正在尝试在MD5或SHA之间进行选择。这与安全无关。这是比较文件的最快方法。我倾向于MD5。
然而,当我运行基准测试时,它表示不然。
有什么建议吗?
这是我在应用中使用最大文件运行的基准测试。
Benchmark: timing 10000000 iterations of MD5, SHA...
MD5: -0.199009 wallclock secs ( 0.07 usr + 0.01 sys = 0.08 CPU) @ 125000000.00/s (n=10000000)
(warning: too few iterations for a reliable count)
SHA: 0.494412 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU) @ 166666666.67/s (n=10000000)
(warning: too few iterations for a reliable count)
Rate MD5 SHA
MD5 125000000/s -- -25%
SHA 166666667/s 33% --
答案 0 :(得分:6)
MD5的计算速度可能比SHA1快,因为它的结构更简单。然后,从磁盘获取数据将比保持MD5或SHA1校验和更新更慢,因此在实践中并不重要。