2007年12月13日

[PHP-users 33025] Re:ファイルの内容が同一のファイルを検索するには

鈴木と申します。

> PHP5を使っています。
> ファイルの内容が同一(ファイル名が異なる)のファイルを検索するプログラムをPHPで作ろうと思っています。hash_fileという関数がありますので、その関数でハッシュ値を抽出して重複チェックを行う事を考えています。
>
> しかし、hash_fileで1G(ギガ)位のファイルハッシュ値を求めると2分くらいかかるようで大量にあるファイルを処理できません(md5,sha256の両方で試しました)。ハッシュ値なので100%の同一性は求めません(無理なので)が、もっと高速に実行する方法は無いのでしょうか?

PHP5のhash_fileという関数が遅いのか、それともハッシュを求めること自体に

時間がかかるのかを区別してみてはどうでしょうか。PHP以外の方法でハッシュ
値を求めるのにかかる時間が遅ければしかたがないのではないでしょうか。

> フリーの重複チェックプログラムについては、もっと高速に行っているようです。

試された「フリーの重複チェックプログラム」はハッシュ値を計算して比較して
いるのでしょうか。例えばファイルサイズだけ比較して違うことがわかればその
時点で比較をやめれば複数ファイルの処理の時には速くなるのではないでしょう
か。ひょっとするとファイルサイズの比較だけで同じと判定していたりすること
はないのでしょうか。
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2007年12月13日 12:11
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67592
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。