Skip to content

Commit

Permalink
benches update
Browse files Browse the repository at this point in the history
  • Loading branch information
eschorn1 committed Oct 15, 2024
1 parent 54a4959 commit 4966359
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 38 deletions.
28 changes: 10 additions & 18 deletions benches/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,20 @@ Near-obvious uplift can be had with more careful modular multiplication & additi
using fewer reductions. Also, 'u16' arithmetic has a performance penalty.

~~~
September 27, 2024
October 15, 2024
Intel® Core™ i7-7700K CPU @ 4.20GHz × 8 Circa 2017 w/ Rust 1.81.0
$ RUSTFLAGS="-C target-cpu=native" cargo bench
ml_dsa_44 keygen time: [79.427 µs 79.563 µs 79.743 µs]
ml_dsa_65 keygen time: [149.51 µs 149.54 µs 149.59 µs]
ml_dsa_87 keygen time: [214.53 µs 214.62 µs 214.77 µs]
ml_dsa_44 keygen time: [104.79 µs 104.89 µs 105.02 µs]
ml_dsa_65 keygen time: [194.61 µs 194.80 µs 195.10 µs]
ml_dsa_87 keygen time: [289.87 µs 290.24 µs 290.87 µs]
ml_dsa_44 sk sign time: [285.42 µs 288.21 µs 291.02 µs]
ml_dsa_65 sk sign time: [442.89 µs 447.03 µs 451.31 µs]
ml_dsa_87 sk sign time: [567.67 µs 574.08 µs 580.57 µs]
ml_dsa_44 sk sign time: [223.90 µs 226.32 µs 228.68 µs]
ml_dsa_65 sk sign time: [348.26 µs 352.89 µs 357.44 µs]
ml_dsa_87 sk sign time: [379.41 µs 385.05 µs 390.63 µs]
ml_dsa_44 esk sign time: [224.79 µs 227.11 µs 229.49 µs]
ml_dsa_65 esk sign time: [338.46 µs 343.11 µs 347.75 µs]
ml_dsa_87 esk sign time: [384.39 µs 388.84 µs 393.61 µs]
ml_dsa_44 pk verify time: [72.814 µs 72.833 µs 72.854 µs]
ml_dsa_65 pk verify time: [121.24 µs 121.29 µs 121.35 µs]
ml_dsa_87 pk verify time: [200.09 µs 200.23 µs 200.41 µs]
ml_dsa_44 epk verify time: [20.932 µs 20.966 µs 21.009 µs]
ml_dsa_65 epk verify time: [26.543 µs 26.548 µs 26.554 µs]
ml_dsa_87 epk verify time: [35.872 µs 35.886 µs 35.900 µs]
ml_dsa_44 pk verify time: [20.988 µs 21.016 µs 21.058 µs]
ml_dsa_65 pk verify time: [27.951 µs 27.996 µs 28.066 µs]
ml_dsa_87 pk verify time: [36.424 µs 36.468 µs 36.547 µs]
~~~
21 changes: 1 addition & 20 deletions benches/benchmark.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use criterion::{criterion_group, criterion_main, Criterion};
use fips204::traits::{KeyGen, Signer, Verifier};
use fips204::traits::{Signer, Verifier};
use fips204::{ml_dsa_44, ml_dsa_65, ml_dsa_87};
use rand_core::{CryptoRng, RngCore};

Expand Down Expand Up @@ -33,18 +33,12 @@ pub fn criterion_benchmark(c: &mut Criterion) {
let msg = [0u8, 1, 2, 3, 4, 5, 6, 7];

let (pk44, sk44) = ml_dsa_44::try_keygen_with_rng(&mut rng).unwrap();
let esk44 = ml_dsa_44::KG::gen_expanded_private(&sk44).unwrap();
let epk44 = ml_dsa_44::KG::gen_expanded_public(&pk44).unwrap();
let sig44 = sk44.try_sign(&msg, &[0]).unwrap();

let (pk65, sk65) = ml_dsa_65::try_keygen_with_rng(&mut rng).unwrap();
let esk65 = ml_dsa_65::KG::gen_expanded_private(&sk65).unwrap();
let epk65 = ml_dsa_65::KG::gen_expanded_public(&pk65).unwrap();
let sig65 = sk65.try_sign(&msg, &[0]).unwrap();

let (pk87, sk87) = ml_dsa_87::try_keygen_with_rng(&mut rng).unwrap();
let esk87 = ml_dsa_87::KG::gen_expanded_private(&sk87).unwrap();
let epk87 = ml_dsa_87::KG::gen_expanded_public(&pk87).unwrap();
let sig87 = sk87.try_sign(&msg, &[0]).unwrap();

c.bench_function("ml_dsa_44 keygen", |b| b.iter(|| ml_dsa_44::try_keygen_with_rng(&mut rng)));
Expand All @@ -61,23 +55,10 @@ pub fn criterion_benchmark(c: &mut Criterion) {
b.iter(|| sk87.try_sign_with_rng(&mut rng, &msg, &[]))
});

c.bench_function("ml_dsa_44 esk sign", |b| {
b.iter(|| esk44.try_sign_with_rng(&mut rng, &msg, &[]))
});
c.bench_function("ml_dsa_65 esk sign", |b| {
b.iter(|| esk65.try_sign_with_rng(&mut rng, &msg, &[]))
});
c.bench_function("ml_dsa_87 esk sign", |b| {
b.iter(|| esk87.try_sign_with_rng(&mut rng, &msg, &[]))
});

c.bench_function("ml_dsa_44 pk verify", |b| b.iter(|| pk44.verify(&msg, &sig44, &[])));
c.bench_function("ml_dsa_65 pk verify", |b| b.iter(|| pk65.verify(&msg, &sig65, &[])));
c.bench_function("ml_dsa_87 pk verify", |b| b.iter(|| pk87.verify(&msg, &sig87, &[])));

c.bench_function("ml_dsa_44 epk verify", |b| b.iter(|| epk44.verify(&msg, &sig44, &[])));
c.bench_function("ml_dsa_65 epk verify", |b| b.iter(|| epk65.verify(&msg, &sig65, &[])));
c.bench_function("ml_dsa_87 epk verify", |b| b.iter(|| epk87.verify(&msg, &sig87, &[])));
}

criterion_group!(benches, criterion_benchmark);
Expand Down

0 comments on commit 4966359

Please sign in to comment.