PHP で Adler32 ローリング ハッシュを実装しましたがord
、文字列内のチャンターの整数値を取得するのが非常に遅い (私の開発マシンでは毎秒約 1MB) ため、このソリューションは 100MB 以上のファイルでは機能しません。
PHP の mhash 関数は、adler32 の非常に迅速な計算を取得できます (私の開発マシンでは毎秒 120MB)。ただし、mhash は adler32 のローリングの性質をサポートしていないようです。そのため、実際に変更された 2 バイトのハッシュを再計算するだけでなく、ローリング ウィンドウの移動に合わせてまったく新しい adler32 を計算する必要があります。
私は adler32 アルゴリズムに縛られていません。PHP で非常に高速なローリング ハッシュが必要なだけです。