rsync の block size デフォルト値はなぜ 700 byte なのか?

rsyncの文献「The rsync algorithm」にヒントがありました。

We have found that values of S between 500 and 1000 are quite good for most purposes.

http://rsync.samba.org/tech_report/footnode.html#foot10


多くの場合ではデフォルトの block size でそれなりに良いパフォーマンスが得られるのでしょうね。


この文献では Linux kernel の2バージョン(1.99.10 と 2.0.0)のソースアーカイブ
このアルゴリズムの検証に利用していました。


ソースアーカイブは24MBほどのサイズで、block size が 300 から 1100 で比較していました。
http://rsync.samba.org/tech_report/node6.html


ちなみに、なぜこれが気になったかと言うと、100GB近くあるとても大きいサイズのファイルをrsyncでコピー(同期)する際に
デフォルト値だとものすごい数のブロックになり、チェックサムの計算回数も多いし、どうなんだろうか?と思ったからです。


このような大きいファイルの場合は、やや大きめのブロックサイズを指定してあげると速そうでした。


また、id:kazuhooku さんの blockdiff は ブロックサイズ 16384 になっていたり、
チェックサムデータを保存できるようになっていたりして良さそうですね。
試してみようと思います。
http://labs.cybozu.co.jp/blog/kazuho/archives/2008/05/blockdiff.php


rsyncにもチェックサムデータを保存・利用できる機能があるといいですね。