Files
tubestation/third_party/rust/rustc-serialize/benches/base64.rs
Kartikaya Gupta cbdf0c332f Bug 1335525 - Add webrender dependencies to third_party/rust. r=gfx
MozReview-Commit-ID: L77ffKqR5QU
2017-02-06 11:42:53 -05:00

49 lines
1.3 KiB
Rust

#![feature(test)]
extern crate test;
extern crate rustc_serialize;
use rustc_serialize::base64::{FromBase64, ToBase64, STANDARD};
use test::Bencher;
#[bench]
fn bench_to_base64(b: &mut Bencher) {
let s = "イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム \
ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン";
b.iter(|| {
s.as_bytes().to_base64(STANDARD);
});
b.bytes = s.len() as u64;
}
#[bench]
fn bench_from_base64(b: &mut Bencher) {
let s = "イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム \
ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン";
let sb = s.as_bytes().to_base64(STANDARD);
b.iter(|| {
sb.from_base64().unwrap();
});
b.bytes = sb.len() as u64;
}
#[bench]
fn bench_to_base64_large(b: &mut Bencher) {
let s: Vec<_> = (0..10000).map(|i| ((i as u32 * 12345) % 256) as u8).collect();
b.iter(|| {
s.to_base64(STANDARD);
});
b.bytes = s.len() as u64;
}
#[bench]
fn bench_from_base64_large(b: &mut Bencher) {
let s: Vec<_> = (0..10000).map(|i| ((i as u32 * 12345) % 256) as u8).collect();
let sb = s.to_base64(STANDARD);
b.iter(|| {
sb.from_base64().unwrap();
});
b.bytes = sb.len() as u64;
}