File: base64.rs

package info (click to toggle)
rust-rustc-serialize 0.3.25-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 540 kB
  • sloc: makefile: 2
file content (48 lines) | stat: -rw-r--r-- 1,344 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#![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;
}