現在、ツリー内のすべてのファイルについて、変更されたファイル時間 (fstat の st_mtime) の XOR チェックサムをチェックしています。これを、見つかったファイルの数とファイルサイズのチェックサム(オーバーフローを許可する)と組み合わせて安全にしていますが、これが最も極端な病理学的ケースで誤検知につながる可能性があることを非常に心配しています。
私が検討している代替の (安全な) オプションの 1 つは、すべてのファイルのマニフェストを名前とファイルの内容の CRC32 で保持することです。ただし、このオプションは非常に遅いか、少なくとも多くのファイル (数千としましょう) では必要以上に遅いです。
質問は、ディレクトリ ツリー内でファイルが変更されたかどうかを判断するためのヒントやコツは何ですか? 信頼性をあまり犠牲にすることなく、バイトごとの比較を避けたいと思います。
ご提案いただきありがとうございます。