On my machine I get: C: 100000000,0.509391 rust: 100000000,0.466069
So rust is faster for me. For fun, I tried to write the rust version using unsafe and pre-allocation to remove the second push: let mut m = Vec::from_fn(101, |_| 0); let pm = m.as_mut_ptr(); let mut m_idx = 1i; let t = time::precise_time_ns(); for _i in iter::range_step(0, n, n/100) { for j in range(0, n/100) { v.push(j); } unsafe { ptr::write(pm.offset(m_idx as int), time::precise_time_ns() - t); } m_idx += 1; } But I get a little slower result (maybe I am doing something wrong with the unsafe and ptr): rust2: 100000000,0.472749 And just to be sure, I tested getting rid of iterators (using manual while loop instead) and this changed nothing (as expected). my 2 cents On Thu, Sep 25, 2014 at 4:05 PM, Clark Gaebel <cg.wowus...@gmail.com> wrote: > You’re also timing two pushes, as opposed to a push and an array write in > the C version. > > > > On Thu, Sep 25, 2014 at 3:59 PM, Daniel Micay <danielmi...@gmail.com> wrote: >> >> <signature.asc> > > > > _______________________________________________ > Rust-dev mailing list > Rust-dev@mozilla.org > https://mail.mozilla.org/listinfo/rust-dev > _______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev