9
其他地方的BufferedWriter
中的默認緩衝區大小爲8k。爲什麼使用8k?較大的緩衝區大小是否會提高性能?爲什麼默認緩衝區大小在Java IO中爲8k?
其他地方的BufferedWriter
中的默認緩衝區大小爲8k。爲什麼使用8k?較大的緩衝區大小是否會提高性能?爲什麼默認緩衝區大小在Java IO中爲8k?
緩衝區減少了寫入系統調用的次數,從而優化了輸出。根據程序的活動,更大的寫入緩衝區可能會提高性能,最好使用更大的緩衝區進行測試,其工作負載與您的程序所做的工作量相當。另外,當底層文件系統的高速緩存是直寫式(無寫高速緩存)時,緩衝區的重要性更高,因爲無論如何,寫後高速緩存將延遲/分組物理寫操作。
我認爲8k的歷史原因與磁盤上的傳統分配大小有關,通常是2k或其倍數。