Skip to content

Commit 2e926c9

Browse files
committed
bench: Fix fallout in benchmarks
1 parent 1f24882 commit 2e926c9

12 files changed

+101
-158
lines changed

src/librustc_back/fs.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ pub fn realpath(original: &Path) -> io::Result<PathBuf> {
3535
if ret == 0 {
3636
return Err(io::Error::last_os_error())
3737
}
38-
assert!(ret as usize < v.capacit());
38+
assert!(ret as usize < v.capacity());
3939
v.set_len(ret);
4040
}
4141
Ok(PathBuf::from(OsString::from_wide(&v)))

src/test/bench/core-map.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
#![feature(unboxed_closures, std_misc, rand)]
11+
#![feature(std_misc, rand)]
1212

1313
use std::collections::{BTreeMap, HashMap, HashSet};
1414
use std::env;
15-
use std::rand::{Rng, IsaacRng, SeedableRng};
15+
use std::__rand::{Rng, thread_rng};
1616
use std::time::Duration;
1717

1818
fn timed<F>(label: &str, f: F) where F: FnMut() {
@@ -114,7 +114,7 @@ fn main() {
114114

115115
{
116116
let seed: &[_] = &[1, 1, 1, 1, 1, 1, 1];
117-
let mut rng: IsaacRng = SeedableRng::from_seed(seed);
117+
let mut rng = thread_rng();
118118
let mut set = HashSet::new();
119119
while set.len() != n_keys {
120120
let next = rng.gen();

src/test/bench/core-std.rs

+5-23
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,14 @@
1111
// ignore-lexer-test FIXME #15679
1212
// Microbenchmarks for various functions in std and extra
1313

14-
#![feature(unboxed_closures, rand, old_io, old_path, std_misc, collections)]
14+
#![feature(rand, collections, std_misc)]
1515

16-
use std::old_io::*;
17-
use std::old_path::{Path, GenericPath};
1816
use std::iter::repeat;
1917
use std::mem::swap;
2018
use std::env;
21-
use std::rand::Rng;
22-
use std::rand;
19+
use std::__rand::{thread_rng, Rng};
2320
use std::str;
2421
use std::time::Duration;
25-
use std::vec;
2622

2723
fn main() {
2824
let argv: Vec<String> = env::args().collect();
@@ -35,7 +31,6 @@ fn main() {
3531
}
3632

3733
bench!(shift_push);
38-
bench!(read_line);
3934
bench!(vec_plus);
4035
bench!(vec_append);
4136
bench!(vec_push_all);
@@ -70,21 +65,8 @@ fn shift_push() {
7065
}
7166
}
7267

73-
fn read_line() {
74-
use std::old_io::BufferedReader;
75-
76-
let mut path = Path::new(env!("CFG_SRC_DIR"));
77-
path.push("src/test/bench/shootout-k-nucleotide.data");
78-
79-
for _ in 0..3 {
80-
let mut reader = BufferedReader::new(File::open(&path).unwrap());
81-
for _line in reader.lines() {
82-
}
83-
}
84-
}
85-
8668
fn vec_plus() {
87-
let mut r = rand::thread_rng();
69+
let mut r = thread_rng();
8870

8971
let mut v = Vec::new();
9072
let mut i = 0;
@@ -102,7 +84,7 @@ fn vec_plus() {
10284
}
10385

10486
fn vec_append() {
105-
let mut r = rand::thread_rng();
87+
let mut r = thread_rng();
10688

10789
let mut v = Vec::new();
10890
let mut i = 0;
@@ -123,7 +105,7 @@ fn vec_append() {
123105
}
124106

125107
fn vec_push_all() {
126-
let mut r = rand::thread_rng();
108+
let mut r = thread_rng();
127109

128110
let mut v = Vec::new();
129111
for i in 0..1500 {

src/test/bench/noise.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
use std::f32::consts::PI;
1818
use std::num::Float;
19-
use std::rand::{Rng, StdRng};
19+
use std::__rand::{Rng, thread_rng};
2020

2121
#[derive(Copy, Clone)]
2222
struct Vec2 {
@@ -44,7 +44,7 @@ struct Noise2DContext {
4444

4545
impl Noise2DContext {
4646
fn new() -> Noise2DContext {
47-
let mut rng = StdRng::new().unwrap();
47+
let mut rng = thread_rng();
4848

4949
let mut rgradients = [Vec2 { x: 0.0, y: 0.0 }; 256];
5050
for x in &mut rgradients[..] {

src/test/bench/shootout-fasta-redux.rs

+21-19
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,11 @@
3838
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
3939
// OF THE POSSIBILITY OF SUCH DAMAGE.
4040

41-
#![feature(core, old_io, io, core)]
42-
4341
use std::cmp::min;
44-
use std::old_io::*;
45-
use std::iter::repeat;
4642
use std::env;
47-
use std::slice::bytes::copy_memory;
43+
use std::io;
44+
use std::io::prelude::*;
45+
use std::iter::repeat;
4846

4947
const LINE_LEN: usize = 60;
5048
const LOOKUP_SIZE: usize = 4 * 1024;
@@ -116,27 +114,31 @@ struct RepeatFasta<'a, W:'a> {
116114
out: &'a mut W
117115
}
118116

119-
impl<'a, W: Writer> RepeatFasta<'a, W> {
117+
impl<'a, W: Write> RepeatFasta<'a, W> {
120118
fn new(alu: &'static str, w: &'a mut W) -> RepeatFasta<'a, W> {
121119
RepeatFasta { alu: alu, out: w }
122120
}
123121

124-
fn make(&mut self, n: usize) -> IoResult<()> {
122+
fn make(&mut self, n: usize) -> io::Result<()> {
125123
let alu_len = self.alu.len();
126124
let mut buf = repeat(0).take(alu_len + LINE_LEN).collect::<Vec<_>>();
127125
let alu: &[u8] = self.alu.as_bytes();
128126

129-
copy_memory(alu, &mut buf);
127+
for (slot, val) in buf.iter_mut().zip(alu.iter()) {
128+
*slot = *val;
129+
}
130130
let buf_len = buf.len();
131-
copy_memory(&alu[..LINE_LEN], &mut buf[alu_len..buf_len]);
131+
for (slot, val) in buf[alu_len..buf_len].iter_mut().zip(alu[..LINE_LEN].iter()) {
132+
*slot = *val;
133+
}
132134

133135
let mut pos = 0;
134136
let mut bytes;
135137
let mut n = n;
136138
while n > 0 {
137139
bytes = min(LINE_LEN, n);
138-
try!(self.out.write(&buf[pos..pos + bytes]));
139-
try!(self.out.write_u8('\n' as u8));
140+
try!(self.out.write_all(&buf[pos..pos + bytes]));
141+
try!(self.out.write_all(&[b'\n']));
140142
pos += bytes;
141143
if pos > alu_len {
142144
pos -= alu_len;
@@ -165,7 +167,7 @@ struct RandomFasta<'a, W:'a> {
165167
out: &'a mut W,
166168
}
167169

168-
impl<'a, W: Writer> RandomFasta<'a, W> {
170+
impl<'a, W: Write> RandomFasta<'a, W> {
169171
fn new(w: &'a mut W, a: &[AminoAcid]) -> RandomFasta<'a, W> {
170172
RandomFasta {
171173
seed: 42,
@@ -189,7 +191,7 @@ impl<'a, W: Writer> RandomFasta<'a, W> {
189191
0
190192
}
191193

192-
fn make(&mut self, n: usize) -> IoResult<()> {
194+
fn make(&mut self, n: usize) -> io::Result<()> {
193195
let lines = n / LINE_LEN;
194196
let chars_left = n % LINE_LEN;
195197
let mut buf = [0;LINE_LEN + 1];
@@ -204,7 +206,7 @@ impl<'a, W: Writer> RandomFasta<'a, W> {
204206
for i in 0..chars_left {
205207
buf[i] = self.nextc();
206208
}
207-
self.out.write(&buf[..chars_left])
209+
self.out.write_all(&buf[..chars_left])
208210
}
209211
}
210212

@@ -216,23 +218,23 @@ fn main() {
216218
5
217219
};
218220

219-
let mut out = stdout();
221+
let mut out = io::stdout();
220222

221-
out.write_line(">ONE Homo sapiens alu").unwrap();
223+
out.write_all(b">ONE Homo sapiens alu\n").unwrap();
222224
{
223225
let mut repeat = RepeatFasta::new(ALU, &mut out);
224226
repeat.make(n * 2).unwrap();
225227
}
226228

227-
out.write_line(">TWO IUB ambiguity codes").unwrap();
229+
out.write_all(b">TWO IUB ambiguity codes\n").unwrap();
228230
let iub = sum_and_scale(&IUB);
229231
let mut random = RandomFasta::new(&mut out, &iub);
230232
random.make(n * 3).unwrap();
231233

232-
random.out.write_line(">THREE Homo sapiens frequency").unwrap();
234+
random.out.write_all(b">THREE Homo sapiens frequency\n").unwrap();
233235
let homo_sapiens = sum_and_scale(&HOMO_SAPIENS);
234236
random.lookup = make_lookup(&homo_sapiens);
235237
random.make(n * 5).unwrap();
236238

237-
random.out.write_str("\n").unwrap();
239+
random.out.write_all(b"\n").unwrap();
238240
}

src/test/bench/shootout-fasta.rs

+9-11
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,12 @@
3838
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
3939
// OF THE POSSIBILITY OF SUCH DAMAGE.
4040

41-
#![feature(old_io, old_path, io, core)]
42-
4341
use std::cmp::min;
44-
use std::old_io::*;
45-
use std::old_io;
46-
use std::old_path::Path;
47-
use std::num::Float;
4842
use std::env;
43+
use std::fs::File;
44+
use std::io::{self, BufWriter};
45+
use std::io::prelude::*;
46+
use std::num::Float;
4947

5048
const LINE_LENGTH: usize = 60;
5149
const IM: u32 = 139968;
@@ -87,9 +85,9 @@ impl<'a> Iterator for AAGen<'a> {
8785
}
8886
}
8987

90-
fn make_fasta<W: Writer, I: Iterator<Item=u8>>(
88+
fn make_fasta<W: Write, I: Iterator<Item=u8>>(
9189
wr: &mut W, header: &str, mut it: I, mut n: usize)
92-
-> std::old_io::IoResult<()>
90+
-> io::Result<()>
9391
{
9492
try!(wr.write(header.as_bytes()));
9593
let mut line = [0; LINE_LENGTH + 1];
@@ -105,7 +103,7 @@ fn make_fasta<W: Writer, I: Iterator<Item=u8>>(
105103
Ok(())
106104
}
107105

108-
fn run<W: Writer>(writer: &mut W) -> std::old_io::IoResult<()> {
106+
fn run<W: Write>(writer: &mut W) -> io::Result<()> {
109107
let mut args = env::args();
110108
let n = if env::var_os("RUST_BENCH").is_some() {
111109
25000000
@@ -146,10 +144,10 @@ fn run<W: Writer>(writer: &mut W) -> std::old_io::IoResult<()> {
146144

147145
fn main() {
148146
let res = if env::var_os("RUST_BENCH").is_some() {
149-
let mut file = BufferedWriter::new(File::create(&Path::new("./shootout-fasta.data")));
147+
let mut file = BufWriter::new(File::create("./shootout-fasta.data").unwrap());
150148
run(&mut file)
151149
} else {
152-
run(&mut old_io::stdout())
150+
run(&mut io::stdout())
153151
};
154152
res.unwrap()
155153
}

src/test/bench/shootout-k-nucleotide-pipes.rs

+12-15
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,17 @@
1313

1414
// multi tasking k-nucleotide
1515

16-
#![feature(box_syntax, std_misc, old_io, collections, os)]
16+
#![allow(bad_style)]
1717

18-
use std::ascii::{AsciiExt, OwnedAsciiExt};
18+
use std::ascii::AsciiExt;
1919
use std::cmp::Ordering::{self, Less, Greater, Equal};
2020
use std::collections::HashMap;
2121
use std::mem::replace;
22-
use std::num::Float;
23-
use std::option;
24-
use std::os;
2522
use std::env;
2623
use std::sync::mpsc::{channel, Sender, Receiver};
2724
use std::thread;
25+
use std::io;
26+
use std::io::prelude::*;
2827

2928
fn f64_cmp(x: f64, y: f64) -> Ordering {
3029
// arbitrarily decide that NaNs are larger than everything.
@@ -75,10 +74,10 @@ fn sort_and_fmt(mm: &HashMap<Vec<u8> , usize>, total: usize) -> String {
7574

7675
// given a map, search for the frequency of a pattern
7776
fn find(mm: &HashMap<Vec<u8> , usize>, key: String) -> usize {
78-
let key = key.into_ascii_lowercase();
77+
let key = key.to_ascii_lowercase();
7978
match mm.get(key.as_bytes()) {
80-
option::Option::None => { return 0; }
81-
option::Option::Some(&num) => { return num; }
79+
None => 0,
80+
Some(&num) => num,
8281
}
8382
}
8483

@@ -123,7 +122,7 @@ fn make_sequence_processor(sz: usize,
123122
line = from_parent.recv().unwrap();
124123
if line == Vec::new() { break; }
125124

126-
carry.push_all(&line);
125+
carry.extend(line);
127126
carry = windows_with_carry(&carry, sz, |window| {
128127
update_freq(&mut freqs, window);
129128
total += 1;
@@ -147,15 +146,13 @@ fn make_sequence_processor(sz: usize,
147146

148147
// given a FASTA file on stdin, process sequence THREE
149148
fn main() {
150-
use std::old_io::*;
151-
149+
let input = io::stdin();
152150
let rdr = if env::var_os("RUST_BENCH").is_some() {
153-
let foo = include_bytes!("shootout-k-nucleotide.data");
154-
box MemReader::new(foo.to_vec()) as Box<Reader>
151+
let foo: &[u8] = include_bytes!("shootout-k-nucleotide.data");
152+
Box::new(foo) as Box<BufRead>
155153
} else {
156-
box stdio::stdin() as Box<Reader>
154+
Box::new(input.lock()) as Box<BufRead>
157155
};
158-
let mut rdr = BufferedReader::new(rdr);
159156

160157
// initialize each sequence sorter
161158
let sizes: Vec<usize> = vec!(1,2,3,4,6,12,18);

0 commit comments

Comments
 (0)