Skip to content

Commit 2603e72

Browse files
committed
---
yaml --- r: 123727 b: refs/heads/try c: 7d38994 h: refs/heads/master i: 123725: 8934738 123723: fd5f263 123719: a9c00c4 123711: 8725349 v: v3
1 parent b917486 commit 2603e72

File tree

2 files changed

+94
-31
lines changed

2 files changed

+94
-31
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: da4e4e4e0a7778a85748aa4a303b13f603e96b4b
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 8ddd286ea4ba4384a0dc9eae393ed515460a986e
5-
refs/heads/try: 90fe1a632bd38633006ea53f92a1da14944fd835
5+
refs/heads/try: 7d3899430b71d3ebed6b3fbf6ec47b042f513979
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/libcollections/vec.rs

Lines changed: 93 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2209,78 +2209,141 @@ mod tests {
22092209
do_bench_clone(b, 1000)
22102210
}
22112211

2212-
fn do_bench_clone_from(b: &mut Bencher, dst_len: uint, src_len: uint) {
2212+
fn do_bench_clone_from(b: &mut Bencher, times: uint, dst_len: uint, src_len: uint) {
22132213
let dst: Vec<uint> = FromIterator::from_iter(range(0, src_len));
22142214
let src: Vec<uint> = FromIterator::from_iter(range(dst_len, dst_len + src_len));
22152215

2216-
b.bytes = src_len as u64;
2216+
b.bytes = (times * src_len) as u64;
22172217

22182218
b.iter(|| {
22192219
let mut dst = dst.clone();
2220-
let src = src.clone();
2221-
dst.clone_from(&src);
2222-
assert_eq!(dst.len(), src_len);
2223-
assert!(dst.iter().enumerate().all(|(i, x)| dst_len + i == *x));
2220+
2221+
for _ in range(0, times) {
2222+
dst.clone_from(&src);
2223+
2224+
assert_eq!(dst.len(), src_len);
2225+
assert!(dst.iter().enumerate().all(|(i, x)| dst_len + i == *x));
2226+
}
22242227
});
22252228
}
22262229

22272230
#[bench]
2228-
fn bench_clone_from_0000_0000(b: &mut Bencher) {
2229-
do_bench_clone_from(b, 0, 0)
2231+
fn bench_clone_from_01_0000_0000(b: &mut Bencher) {
2232+
do_bench_clone_from(b, 1, 0, 0)
2233+
}
2234+
2235+
#[bench]
2236+
fn bench_clone_from_01_0000_0010(b: &mut Bencher) {
2237+
do_bench_clone_from(b, 1, 0, 10)
2238+
}
2239+
2240+
#[bench]
2241+
fn bench_clone_from_01_0000_0100(b: &mut Bencher) {
2242+
do_bench_clone_from(b, 1, 0, 100)
2243+
}
2244+
2245+
#[bench]
2246+
fn bench_clone_from_01_0000_1000(b: &mut Bencher) {
2247+
do_bench_clone_from(b, 1, 0, 1000)
2248+
}
2249+
2250+
#[bench]
2251+
fn bench_clone_from_01_0010_0010(b: &mut Bencher) {
2252+
do_bench_clone_from(b, 1, 10, 10)
2253+
}
2254+
2255+
#[bench]
2256+
fn bench_clone_from_01_0100_0100(b: &mut Bencher) {
2257+
do_bench_clone_from(b, 1, 100, 100)
2258+
}
2259+
2260+
#[bench]
2261+
fn bench_clone_from_01_1000_1000(b: &mut Bencher) {
2262+
do_bench_clone_from(b, 1, 1000, 1000)
2263+
}
2264+
2265+
#[bench]
2266+
fn bench_clone_from_01_0010_0100(b: &mut Bencher) {
2267+
do_bench_clone_from(b, 1, 10, 100)
2268+
}
2269+
2270+
#[bench]
2271+
fn bench_clone_from_01_0100_1000(b: &mut Bencher) {
2272+
do_bench_clone_from(b, 1, 100, 1000)
2273+
}
2274+
2275+
#[bench]
2276+
fn bench_clone_from_01_0010_0000(b: &mut Bencher) {
2277+
do_bench_clone_from(b, 1, 10, 0)
2278+
}
2279+
2280+
#[bench]
2281+
fn bench_clone_from_01_0100_0010(b: &mut Bencher) {
2282+
do_bench_clone_from(b, 1, 100, 10)
2283+
}
2284+
2285+
#[bench]
2286+
fn bench_clone_from_01_1000_0100(b: &mut Bencher) {
2287+
do_bench_clone_from(b, 1, 1000, 100)
2288+
}
2289+
2290+
#[bench]
2291+
fn bench_clone_from_10_0000_0000(b: &mut Bencher) {
2292+
do_bench_clone_from(b, 10, 0, 0)
22302293
}
22312294

22322295
#[bench]
2233-
fn bench_clone_from_0000_0010(b: &mut Bencher) {
2234-
do_bench_clone_from(b, 0, 10)
2296+
fn bench_clone_from_10_0000_0010(b: &mut Bencher) {
2297+
do_bench_clone_from(b, 10, 0, 10)
22352298
}
22362299

22372300
#[bench]
2238-
fn bench_clone_from_0000_0100(b: &mut Bencher) {
2239-
do_bench_clone_from(b, 0, 100)
2301+
fn bench_clone_from_10_0000_0100(b: &mut Bencher) {
2302+
do_bench_clone_from(b, 10, 0, 100)
22402303
}
22412304

22422305
#[bench]
2243-
fn bench_clone_from_0000_1000(b: &mut Bencher) {
2244-
do_bench_clone_from(b, 0, 1000)
2306+
fn bench_clone_from_10_0000_1000(b: &mut Bencher) {
2307+
do_bench_clone_from(b, 10, 0, 1000)
22452308
}
22462309

22472310
#[bench]
2248-
fn bench_clone_from_0010_0010(b: &mut Bencher) {
2249-
do_bench_clone_from(b, 10, 10)
2311+
fn bench_clone_from_10_0010_0010(b: &mut Bencher) {
2312+
do_bench_clone_from(b, 10, 10, 10)
22502313
}
22512314

22522315
#[bench]
2253-
fn bench_clone_from_0100_0100(b: &mut Bencher) {
2254-
do_bench_clone_from(b, 100, 100)
2316+
fn bench_clone_from_10_0100_0100(b: &mut Bencher) {
2317+
do_bench_clone_from(b, 10, 100, 100)
22552318
}
22562319

22572320
#[bench]
2258-
fn bench_clone_from_1000_1000(b: &mut Bencher) {
2259-
do_bench_clone_from(b, 1000, 1000)
2321+
fn bench_clone_from_10_1000_1000(b: &mut Bencher) {
2322+
do_bench_clone_from(b, 10, 1000, 1000)
22602323
}
22612324

22622325
#[bench]
2263-
fn bench_clone_from_0010_0100(b: &mut Bencher) {
2264-
do_bench_clone_from(b, 10, 100)
2326+
fn bench_clone_from_10_0010_0100(b: &mut Bencher) {
2327+
do_bench_clone_from(b, 10, 10, 100)
22652328
}
22662329

22672330
#[bench]
2268-
fn bench_clone_from_0100_1000(b: &mut Bencher) {
2269-
do_bench_clone_from(b, 100, 1000)
2331+
fn bench_clone_from_10_0100_1000(b: &mut Bencher) {
2332+
do_bench_clone_from(b, 10, 100, 1000)
22702333
}
22712334

22722335
#[bench]
2273-
fn bench_clone_from_0010_0000(b: &mut Bencher) {
2274-
do_bench_clone_from(b, 10, 0)
2336+
fn bench_clone_from_10_0010_0000(b: &mut Bencher) {
2337+
do_bench_clone_from(b, 10, 10, 0)
22752338
}
22762339

22772340
#[bench]
2278-
fn bench_clone_from_0100_0010(b: &mut Bencher) {
2279-
do_bench_clone_from(b, 100, 10)
2341+
fn bench_clone_from_10_0100_0010(b: &mut Bencher) {
2342+
do_bench_clone_from(b, 10, 100, 10)
22802343
}
22812344

22822345
#[bench]
2283-
fn bench_clone_from_1000_0100(b: &mut Bencher) {
2284-
do_bench_clone_from(b, 1000, 100)
2346+
fn bench_clone_from_10_1000_0100(b: &mut Bencher) {
2347+
do_bench_clone_from(b, 10, 1000, 100)
22852348
}
22862349
}

0 commit comments

Comments
 (0)