ファイルの整合性を取る時、MD5とかでハッシュを取って確認する事が多いのですが、高速と噂のハッシュアルゴリズム「xxHash」がどれくらい早いのか検証してみた。
windows
MD5
だいたい250MB/sからたまに270MB/sになるくらい。コマンドは以下
>certutil -hashfile filename.mp4 MD5
xxHash
430MB/s ~ 450MB/sくらい。下記からxxhsum_win64_0_7_2_avx2.zip
をダウンロードして使用しました。
https://github.com/Cyan4973/xxHash/releases/tag/v0.7.2
>xxhash.exe filename.mp4
macOS
同じ検証をmacOS(Macbook Pro)でも検証してみた所、1.24GB/sというとんでもない速度を叩き出しました。やはりストレージ速度が早いとかなり効いてきます。ちなみにMD5は400MB/sくらいでした。
まとめ
ある程度スピードの出るストレージであれば効果的である事が分かりました。
ちなみに検証したストレージはSSDで、読みで500MB/sくらい出ます。
注意点としてxxHashは暗号化を行っていないので、セキュリティ目的には使ってはいけません。
今回のケースのようなファイルの整合性を取る処理には向いているのではと思います。