9
デフォルトのバッファサイズは、他の場所のBufferedWriter
では8kです。なぜ8kを使うのですか?バッファサイズを大きくするとパフォーマンスが向上しますか?Java IOでデフォルトのバッファサイズが8kになるのはなぜですか?
デフォルトのバッファサイズは、他の場所のBufferedWriter
では8kです。なぜ8kを使うのですか?バッファサイズを大きくするとパフォーマンスが向上しますか?Java IOでデフォルトのバッファサイズが8kになるのはなぜですか?
バッファは書き込みシステムコールの数を減らし、出力を最適化します。プログラムの動作によっては、書き込みバッファが大きいほどパフォーマンスが向上する可能性があります。プログラムが実行するものに匹敵する作業負荷で、より大きなバッファでテストすることが常にベストです。また、ライトビハインドキャッシュは物理的な書き込み操作を遅延/グループ化するため、基になるファイルシステムのキャッシュがライトスルー(ライトキャッシュなし)の場合、バッファの重要性が高くなります。
私は、8kの歴史的な理由は、ディスク上の従来の割り当てサイズ、多くの場合2kまたはその倍数に関係していると思います。