Skip to content

Commit 8310bbf

Browse files
committed
---
yaml --- r: 13722 b: refs/heads/master c: ccd2394 h: refs/heads/master v: v3
1 parent 3d89f90 commit 8310bbf

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
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: a08281616f5afcf7b134159a919e76829d2f2a8d
2+
refs/heads/master: ccd2394ff9ccff11950d0830aaeb74f4fabb7d9c
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf

trunk/src/libstd/map.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ Convert a set into a vector.
326326
fn vec_from_set<T: copy>(s: set<T>) -> [T]/~ {
327327
let mut v = []/~;
328328
s.each_key() {|k|
329-
v += [k]/~;
329+
vec::push(v, k);
330330
true
331331
};
332332
v

trunk/src/test/bench/core-std.rs

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,25 @@
33
use std;
44

55
import std::time::precise_time_s;
6+
import std::map;
7+
import std::map::{map, hashmap};
68

79
import io::{reader, reader_util};
810

9-
fn main() {
11+
fn main(argv: [str]/~) {
1012
#macro[
1113
[#bench[id],
12-
run_test(#stringify(id), id)]
14+
if tests.len() == 0 || vec::contains(tests, #stringify(id)) {
15+
run_test(#stringify(id), id);
16+
}
17+
]
1318
];
1419

20+
let tests = vec::view(argv, 1, argv.len());
21+
1522
#bench[shift_push];
1623
#bench[read_line];
24+
#bench[str_set];
1725
}
1826

1927
fn run_test(name: str, test: fn()) {
@@ -46,3 +54,21 @@ fn read_line() {
4654
}
4755
}
4856
}
57+
58+
fn str_set() {
59+
let r = rand::rng();
60+
61+
let s = map::hashmap(str::hash, str::eq);
62+
63+
for int::range(0, 1000) {|_i|
64+
map::set_add(s, r.gen_str(10));
65+
}
66+
67+
let mut found = 0;
68+
for int::range(0, 1000) {|_i|
69+
alt s.find(r.gen_str(10)) {
70+
some(_) { found += 1; }
71+
none { }
72+
}
73+
}
74+
}

0 commit comments

Comments
 (0)