Skip to content

Commit 5d00bfc

Browse files
committed
---
yaml --- r: 153277 b: refs/heads/try2 c: 90fe1a6 h: refs/heads/master i: 153275: aa7aae4 v: v3
1 parent 71bcd6b commit 5d00bfc

File tree

2 files changed

+50
-6
lines changed

2 files changed

+50
-6
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: f1ea540e9024db9b5d2e6a6e92431875feb345b3
8+
refs/heads/try2: 90fe1a632bd38633006ea53f92a1da14944fd835
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/libstd/io/mem.rs

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -607,17 +607,61 @@ mod test {
607607
assert_eq!(buf.as_slice(), &[7, 8, 6]);
608608
}
609609

610-
#[bench]
611-
fn bench_mem_writer(b: &mut Bencher) {
610+
fn do_bench_mem_writer(b: &mut Bencher, times: uint, len: uint) {
611+
let src: Vec<u8> = Vec::from_elem(len, 5);
612+
612613
b.iter(|| {
613614
let mut wr = MemWriter::new();
614-
for _i in range(0u, 10) {
615-
wr.write([5, .. 10]).unwrap();
615+
for _ in range(0, times) {
616+
wr.write(src.as_slice()).unwrap();
616617
}
617-
assert_eq!(wr.unwrap().as_slice(), [5, .. 100].as_slice());
618+
619+
let v = wr.unwrap();
620+
assert_eq!(v.len(), times * len);
621+
assert!(v.iter().all(|x| *x == 5));
618622
});
619623
}
620624

625+
#[bench]
626+
fn bench_mem_writer_001_0000(b: &mut Bencher) {
627+
do_bench_mem_writer(b, 1, 0)
628+
}
629+
630+
#[bench]
631+
fn bench_mem_writer_001_0010(b: &mut Bencher) {
632+
do_bench_mem_writer(b, 1, 10)
633+
}
634+
635+
#[bench]
636+
fn bench_mem_writer_001_0100(b: &mut Bencher) {
637+
do_bench_mem_writer(b, 1, 100)
638+
}
639+
640+
#[bench]
641+
fn bench_mem_writer_001_1000(b: &mut Bencher) {
642+
do_bench_mem_writer(b, 1, 1000)
643+
}
644+
645+
#[bench]
646+
fn bench_mem_writer_100_0000(b: &mut Bencher) {
647+
do_bench_mem_writer(b, 100, 0)
648+
}
649+
650+
#[bench]
651+
fn bench_mem_writer_100_0010(b: &mut Bencher) {
652+
do_bench_mem_writer(b, 100, 10)
653+
}
654+
655+
#[bench]
656+
fn bench_mem_writer_100_0100(b: &mut Bencher) {
657+
do_bench_mem_writer(b, 100, 100)
658+
}
659+
660+
#[bench]
661+
fn bench_mem_writer_100_1000(b: &mut Bencher) {
662+
do_bench_mem_writer(b, 100, 1000)
663+
}
664+
621665
#[bench]
622666
fn bench_mem_reader(b: &mut Bencher) {
623667
b.iter(|| {

0 commit comments

Comments
 (0)