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