diff options
| author | Ulrik Sverdrup <bluss@users.noreply.github.com> | 2015-07-08 03:20:00 +0200 |
|---|---|---|
| committer | Ulrik Sverdrup <bluss@users.noreply.github.com> | 2015-07-08 19:40:40 +0200 |
| commit | a5cc17adaadf9bc4da3b6b375879fda55ed823c9 (patch) | |
| tree | 7ef2b04e1a05017b36ea8e622008c60ba2394b7f /src/libstd/io | |
| parent | 6ac0ba3c3a1fc20e17923724e1e7635131eb19d6 (diff) | |
| download | rust-a5cc17adaadf9bc4da3b6b375879fda55ed823c9.tar.gz rust-a5cc17adaadf9bc4da3b6b375879fda55ed823c9.zip | |
io: Simplify BufReader::with_capacity
Use the vec![] macro directly to create a sized, zeroed vector. This should result in a big speedup when creating BufReader, because vec![0; cap] compiles to a memset call, while the previous extend code currently did not.
Diffstat (limited to 'src/libstd/io')
| -rw-r--r-- | src/libstd/io/buffered.rs | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/libstd/io/buffered.rs b/src/libstd/io/buffered.rs index 1d0152e2751..28033b4c1a9 100644 --- a/src/libstd/io/buffered.rs +++ b/src/libstd/io/buffered.rs @@ -19,7 +19,6 @@ use error; use fmt; use io::{self, DEFAULT_BUF_SIZE, Error, ErrorKind, SeekFrom}; use ptr; -use iter; /// Wraps a `Read` and buffers input from it /// @@ -63,11 +62,9 @@ impl<R: Read> BufReader<R> { /// Creates a new `BufReader` with the specified buffer capacity #[stable(feature = "rust1", since = "1.0.0")] pub fn with_capacity(cap: usize, inner: R) -> BufReader<R> { - let mut buf = Vec::with_capacity(cap); - buf.extend(iter::repeat(0).take(cap)); BufReader { inner: inner, - buf: buf, + buf: vec![0; cap], pos: 0, cap: 0, } |
