From 8128817119e479b0610685e3fc7a6ff21cde5abc Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sat, 2 Apr 2016 22:12:52 -0700 Subject: [PATCH] Drop the default buffer size to 8K The 64k capacity was picked by me a couple of years ago in the initial implementation of buffered IO adaptors: https://github.com/rust-lang/rust/pull/9091/files#diff-b131eeef531ad098b32f49695a031008R62. 64K was picked for symmetry with libuv, which we no longer use. 64K is *way* larger than the default size of any other language that I can find. C, C++, and Java default to 8K, and Go defaults to 4K. There have been a variety of issues filed relating to this such as #31885. Closes #31885 --- src/libstd/io/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libstd/io/mod.rs b/src/libstd/io/mod.rs index 0f988c7623e..bcce8ee6abf 100644 --- a/src/libstd/io/mod.rs +++ b/src/libstd/io/mod.rs @@ -292,7 +292,7 @@ mod lazy; mod util; mod stdio; -const DEFAULT_BUF_SIZE: usize = 64 * 1024; +const DEFAULT_BUF_SIZE: usize = 8 * 1024; // A few methods below (read_to_string, read_line) will append data into a // `String` buffer, but we need to be pretty careful when doing this. The