Fix benchmarks after merging #64.

This commit is contained in:
Isis Lovecruft 2018-12-30 04:26:22 +00:00
parent 8b30d4084a
commit 82cdcb9cc9
No known key found for this signature in database
GPG key ID: AB41313533E8E812

View file

@ -11,7 +11,6 @@
extern crate criterion;
extern crate ed25519_dalek;
extern crate rand;
extern crate sha2;
use criterion::Criterion;
@ -24,37 +23,36 @@ mod ed25519_benches {
use ed25519_dalek::verify_batch;
use rand::thread_rng;
use rand::rngs::ThreadRng;
use sha2::Sha512;
fn sign(c: &mut Criterion) {
let mut csprng: ThreadRng = thread_rng();
let keypair: Keypair = Keypair::generate::<Sha512, _>(&mut csprng);
let keypair: Keypair = Keypair::generate(&mut csprng);
let msg: &[u8] = b"";
c.bench_function("Ed25519 signing", move |b| {
b.iter(| | keypair.sign::<Sha512>(msg))
b.iter(| | keypair.sign(msg))
});
}
fn sign_expanded_key(c: &mut Criterion) {
let mut csprng: ThreadRng = thread_rng();
let keypair: Keypair = Keypair::generate::<Sha512, _>(&mut csprng);
let expanded: ExpandedSecretKey = keypair.secret.expand::<Sha512>();
let keypair: Keypair = Keypair::generate(&mut csprng);
let expanded: ExpandedSecretKey = (&keypair.secret).into();
let msg: &[u8] = b"";
c.bench_function("Ed25519 signing with an expanded secret key", move |b| {
b.iter(| | expanded.sign::<Sha512>(msg, &keypair.public))
b.iter(| | expanded.sign(msg, &keypair.public))
});
}
fn verify(c: &mut Criterion) {
let mut csprng: ThreadRng = thread_rng();
let keypair: Keypair = Keypair::generate::<Sha512, _>(&mut csprng);
let keypair: Keypair = Keypair::generate(&mut csprng);
let msg: &[u8] = b"";
let sig: Signature = keypair.sign::<Sha512>(msg);
let sig: Signature = keypair.sign(msg);
c.bench_function("Ed25519 signature verification", move |b| {
b.iter(| | keypair.verify::<Sha512>(msg, &sig))
b.iter(| | keypair.verify(msg, &sig))
});
}
@ -65,13 +63,13 @@ mod ed25519_benches {
"Ed25519 batch signature verification",
|b, &&size| {
let mut csprng: ThreadRng = thread_rng();
let keypairs: Vec<Keypair> = (0..size).map(|_| Keypair::generate::<Sha512, _>(&mut csprng)).collect();
let keypairs: Vec<Keypair> = (0..size).map(|_| Keypair::generate(&mut csprng)).collect();
let msg: &[u8] = b"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
let messages: Vec<&[u8]> = (0..size).map(|_| msg).collect();
let signatures: Vec<Signature> = keypairs.iter().map(|key| key.sign::<Sha512>(&msg)).collect();
let signatures: Vec<Signature> = keypairs.iter().map(|key| key.sign(&msg)).collect();
let public_keys: Vec<PublicKey> = keypairs.iter().map(|key| key.public).collect();
b.iter(|| verify_batch::<Sha512>(&messages[..], &signatures[..], &public_keys[..]));
b.iter(|| verify_batch(&messages[..], &signatures[..], &public_keys[..]));
},
&BATCH_SIZES,
);
@ -81,7 +79,7 @@ mod ed25519_benches {
let mut csprng: ThreadRng = thread_rng();
c.bench_function("Ed25519 keypair generation", move |b| {
b.iter(| | Keypair::generate::<Sha512, _>(&mut csprng))
b.iter(| | Keypair::generate(&mut csprng))
});
}