Skip to content

Commit 7cda0d4

Browse files
committed
auto merge of #8481 : cmr/rust/bench/std/at_vec, r=graydon
2 parents 13c8254 + 5b28088 commit 7cda0d4

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

src/libstd/at_vec.rs

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ pub mod raw {
308308
mod test {
309309
use super::*;
310310
use prelude::*;
311+
use bh = extra::test::BenchHarness;
311312

312313
#[test]
313314
fn test() {
@@ -347,4 +348,84 @@ mod test {
347348
assert_eq!(to_managed([@"abc", @"123"]), @[@"abc", @"123"]);
348349
assert_eq!(to_managed([@[42]]), @[@[42]]);
349350
}
351+
352+
#[bench]
353+
fn bench_capacity(b: &mut bh) {
354+
let x = @[1, 2, 3];
355+
do b.iter {
356+
capacity(x);
357+
}
358+
}
359+
360+
#[bench]
361+
fn bench_build_sized(b: &mut bh) {
362+
let len = 64;
363+
do b.iter {
364+
build_sized(len, |push| for i in range(0, 1024) { push(i) });
365+
}
366+
}
367+
368+
#[bench]
369+
fn bench_build(b: &mut bh) {
370+
do b.iter {
371+
for i in range(0, 95) {
372+
build(|push| push(i));
373+
}
374+
}
375+
}
376+
377+
#[bench]
378+
fn bench_append(b: &mut bh) {
379+
let lhs = @[7, ..128];
380+
let rhs = range(0, 256).to_owned_vec();
381+
do b.iter {
382+
append(lhs, rhs);
383+
}
384+
}
385+
386+
#[bench]
387+
fn bench_map(b: &mut bh) {
388+
let elts = range(0, 256).to_owned_vec();
389+
do b.iter {
390+
map(elts, |x| x*2);
391+
}
392+
}
393+
394+
#[bench]
395+
fn bench_from_fn(b: &mut bh) {
396+
do b.iter {
397+
from_fn(1024, |x| x);
398+
}
399+
}
400+
401+
#[bench]
402+
fn bench_from_elem(b: &mut bh) {
403+
do b.iter {
404+
from_elem(1024, 0u64);
405+
}
406+
}
407+
408+
#[bench]
409+
fn bench_to_managed_move(b: &mut bh) {
410+
do b.iter {
411+
let elts = range(0, 1024).to_owned_vec(); // yikes! can't move out of capture, though
412+
to_managed_move(elts);
413+
}
414+
}
415+
416+
#[bench]
417+
fn bench_to_managed(b: &mut bh) {
418+
let elts = range(0, 1024).to_owned_vec();
419+
do b.iter {
420+
to_managed(elts);
421+
}
422+
}
423+
424+
#[bench]
425+
fn bench_clone(b: &mut bh) {
426+
let elts = to_managed(range(0, 1024).to_owned_vec());
427+
do b.iter {
428+
elts.clone();
429+
}
430+
}
350431
}

0 commit comments

Comments
 (0)