-
Notifications
You must be signed in to change notification settings - Fork 53
/
bench.rs
70 lines (59 loc) · 1.8 KB
/
bench.rs
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#![feature(test)]
extern crate bip39;
extern crate test;
use test::Bencher;
use bip39::*;
#[cfg(not(any(
feature = "chinese-simplified", feature = "chinese-traditional", feature = "czech",
feature = "french", feature = "italian", feature = "japanese", feature = "korean",
feature = "spanish"
)))]
const LANG: Language = Language::English;
#[cfg(feature = "chinese-simplified")]
const LANG: Language = Language::SimplifiedChinese;
#[cfg(feature = "chinese-traditional")]
const LANG: Language = Language::TraditionalChinese;
#[cfg(feature = "czech")]
const LANG: Language = Language::Czech;
#[cfg(feature = "french")]
const LANG: Language = Language::French;
#[cfg(feature = "italian")]
const LANG: Language = Language::Italian;
#[cfg(feature = "japanese")]
const LANG: Language = Language::Japanese;
#[cfg(feature = "korean")]
const LANG: Language = Language::Korean;
#[cfg(feature = "spanish")]
const LANG: Language = Language::Spanish;
#[bench]
fn validate(b: &mut Bencher) {
let entropy = b"7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f";
let mnemonic = Mnemonic::from_entropy_in(LANG, &entropy[..]).unwrap();
assert_eq!(mnemonic.word_count(), 24);
let phrase = mnemonic.as_str();
b.iter(|| {
let _ = Mnemonic::validate_in(Language::English, &phrase);
});
}
#[bench]
fn from_entropy(b: &mut Bencher) {
let entropy = b"7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f";
b.iter(|| {
let _ = Mnemonic::from_entropy_in(LANG, &entropy[..]).unwrap();
});
}
#[cfg(feature = "rand")]
#[bench]
fn new_mnemonic(b: &mut Bencher) {
b.iter(|| {
let _ = Mnemonic::generate_in(LANG, 24);
});
}
#[bench]
fn to_seed(b: &mut Bencher) {
let entropy = b"7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f";
let m = Mnemonic::from_entropy_in(LANG, &entropy[..]).unwrap();
b.iter(|| {
let _ = m.to_seed("");
});
}