Skip to content

Commit 460756e

Browse files
committed
---
yaml --- r: 89820 b: refs/heads/master c: 67692b2 h: refs/heads/master v: v3
1 parent 55c8324 commit 460756e

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 1bfa45cfd9d7c8b2dcc0ea7a42396624e8b5a31b
2+
refs/heads/master: 67692b21b5c66c391f5f85c918149d4a98e321c4
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
55
refs/heads/try: b160761e35efcd1207112b3b782c06633cf441a8

trunk/src/libstd/io/buffered.rs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,27 @@ mod test {
351351
use super::*;
352352
use io;
353353
use super::super::mem::{MemReader, MemWriter};
354+
use Harness = extra::test::BenchHarness;
355+
356+
/// A type, free to create, primarily intended for benchmarking creation of wrappers that, just
357+
/// for construction, don't need a Reader/Writer that does anything useful. Is equivalent to
358+
/// `/dev/null` in semantics.
359+
#[deriving(Clone,Eq,Ord)]
360+
pub struct NullStream;
361+
362+
impl Reader for NullStream {
363+
fn read(&mut self, _: &mut [u8]) -> Option<uint> {
364+
None
365+
}
366+
367+
fn eof(&mut self) -> bool {
368+
true
369+
}
370+
}
371+
372+
impl Writer for NullStream {
373+
fn write(&mut self, _: &[u8]) { }
374+
}
354375

355376
#[test]
356377
fn test_buffered_reader() {
@@ -470,4 +491,25 @@ mod test {
470491
writer.flush();
471492
assert_eq!(*writer.inner_ref().inner_ref(), ~[0, 1, 0, '\n' as u8, 1]);
472493
}
494+
495+
#[bench]
496+
fn bench_buffered_reader(bh: &mut Harness) {
497+
do bh.iter {
498+
BufferedReader::new(NullStream);
499+
}
500+
}
501+
502+
#[bench]
503+
fn bench_buffered_writer(bh: &mut Harness) {
504+
do bh.iter {
505+
BufferedWriter::new(NullStream);
506+
}
507+
}
508+
509+
#[bench]
510+
fn bench_buffered_stream(bh: &mut Harness) {
511+
do bh.iter {
512+
BufferedStream::new(NullStream);
513+
}
514+
}
473515
}

0 commit comments

Comments
 (0)