Help us understand the problem. What is going on with this article?

【 int read(byte[]) 】 InputStreamの最適なバッファサイズ 

More than 5 years have passed since last update.

Java の InputStream には御存知の通り以下のメソッドが存在します。
int read(byte[] buff)
int read(byte[] buff, int offset, int length)

InputStream は たくさんの Input系ストリーム で継承されていますので、同じことが言えるのですが、
これらの buff に指定する バッファ のサイズに悩んだことはありませんか?

私自身は BufferedInputStream のディフォルトである 8192バイト の半分である 4096バイト を指定してました。
(連続したメモリ確保も大変だろうと思い・・・)

実際に図ってみるのもちょっとめんどくさいですよね・・・
そこで、以下のサイトで検証がされていましたので紹介します。

http://chat-messenger.net/blog-entry-72.html

上記サイトの検証では 1メガ が最適なバッファサイズのようです。
上記サイトのでは 1メガ 以上のバッファサイズにしてもほとんど速度向上は見られないようです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away