diff options
| author | Ben Kimock <kimockb@gmail.com> | 2020-12-19 15:02:01 -0500 |
|---|---|---|
| committer | KodrAus <kodraus@hey.com> | 2021-01-17 12:10:39 +1000 |
| commit | 4e27ed3af19e604d7b65e130145fcecdc69fba7a (patch) | |
| tree | 43137963aafb15fe3f7579ac8b4dda6c3433ef2a /library/std/src/io/buffered/tests.rs | |
| parent | 8a6518427e11e6dd13d6f39663b82eb4f810ca05 (diff) | |
| download | rust-4e27ed3af19e604d7b65e130145fcecdc69fba7a.tar.gz rust-4e27ed3af19e604d7b65e130145fcecdc69fba7a.zip | |
Add benchmark and fast path for BufReader::read_exact
Diffstat (limited to 'library/std/src/io/buffered/tests.rs')
| -rw-r--r-- | library/std/src/io/buffered/tests.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/library/std/src/io/buffered/tests.rs b/library/std/src/io/buffered/tests.rs index 66a64f667ba..f6c2b499567 100644 --- a/library/std/src/io/buffered/tests.rs +++ b/library/std/src/io/buffered/tests.rs @@ -444,6 +444,18 @@ fn bench_buffered_reader(b: &mut test::Bencher) { } #[bench] +fn bench_buffered_reader_small_reads(b: &mut test::Bencher) { + let data = (0..u8::MAX).cycle().take(1024 * 4).collect::<Vec<_>>(); + b.iter(|| { + let mut reader = BufReader::new(&data[..]); + let mut buf = [0u8; 4]; + for _ in 0..1024 { + reader.read_exact(&mut buf).unwrap(); + } + }); +} + +#[bench] fn bench_buffered_writer(b: &mut test::Bencher) { b.iter(|| BufWriter::new(io::sink())); } |
