Почему размер буфера по умолчанию составляет 8 000 в Java IO? - PullRequest
9 голосов
/ 14 августа 2011

Размер буфера по умолчанию составляет 8 КБ в BufferedWriter где-то еще. Зачем использовать 8к? Улучшает ли больший размер буфера производительность?

1 Ответ

6 голосов
/ 14 августа 2011

Буфер уменьшает количество системных вызовов записи и тем самым оптимизирует вывод.В зависимости от активности вашей программы больший буфер записи может улучшить производительность, всегда лучше тестировать с большим буфером с рабочей нагрузкой, сравнимой с тем, что делает ваша программа.Кроме того, важность буфера выше, когда кэш основной файловой системы является сквозной (без кэша записи), потому что кэш с обратной записью в любом случае задержит / сгруппирует физические операции записи.

Я думаю, что историческая причина8k относится к традиционным размерам размещения на диске, часто 2k или кратным.

...