Java の InputStream には御存知の通り以下のメソッドが存在します。
int read(byte[] buff)
int read(byte[] buff, int offset, int length)
InputStream は たくさんの Input系ストリーム で継承されていますので、同じことが言えるのですが、
これらの buff に指定する バッファ のサイズに悩んだことはありませんか?
私自身は BufferedInputStream のディフォルトである 8192バイト の半分である 4096バイト を指定してました。
(連続したメモリ確保も大変だろうと思い・・・)
実際に図ってみるのもちょっとめんどくさいですよね・・・
そこで、以下のサイトで検証がされていましたので紹介します。
上記サイトの検証では 1メガ が最適なバッファサイズのようです。
上記サイトのでは 1メガ 以上のバッファサイズにしてもほとんど速度向上は見られないようです。