Skip to content

Commit 4966359

Browse files
committed
benches update
1 parent 54a4959 commit 4966359

File tree

2 files changed

+11
-38
lines changed

2 files changed

+11
-38
lines changed

benches/README.md

+10-18
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,20 @@ Near-obvious uplift can be had with more careful modular multiplication & additi
66
using fewer reductions. Also, 'u16' arithmetic has a performance penalty.
77

88
~~~
9-
September 27, 2024
9+
October 15, 2024
1010
Intel® Core™ i7-7700K CPU @ 4.20GHz × 8 Circa 2017 w/ Rust 1.81.0
1111
1212
$ RUSTFLAGS="-C target-cpu=native" cargo bench
1313
14-
ml_dsa_44 keygen time: [79.427 µs 79.563 µs 79.743 µs]
15-
ml_dsa_65 keygen time: [149.51 µs 149.54 µs 149.59 µs]
16-
ml_dsa_87 keygen time: [214.53 µs 214.62 µs 214.77 µs]
14+
ml_dsa_44 keygen time: [104.79 µs 104.89 µs 105.02 µs]
15+
ml_dsa_65 keygen time: [194.61 µs 194.80 µs 195.10 µs]
16+
ml_dsa_87 keygen time: [289.87 µs 290.24 µs 290.87 µs]
1717
18-
ml_dsa_44 sk sign time: [285.42 µs 288.21 µs 291.02 µs]
19-
ml_dsa_65 sk sign time: [442.89 µs 447.03 µs 451.31 µs]
20-
ml_dsa_87 sk sign time: [567.67 µs 574.08 µs 580.57 µs]
18+
ml_dsa_44 sk sign time: [223.90 µs 226.32 µs 228.68 µs]
19+
ml_dsa_65 sk sign time: [348.26 µs 352.89 µs 357.44 µs]
20+
ml_dsa_87 sk sign time: [379.41 µs 385.05 µs 390.63 µs]
2121
22-
ml_dsa_44 esk sign time: [224.79 µs 227.11 µs 229.49 µs]
23-
ml_dsa_65 esk sign time: [338.46 µs 343.11 µs 347.75 µs]
24-
ml_dsa_87 esk sign time: [384.39 µs 388.84 µs 393.61 µs]
25-
26-
ml_dsa_44 pk verify time: [72.814 µs 72.833 µs 72.854 µs]
27-
ml_dsa_65 pk verify time: [121.24 µs 121.29 µs 121.35 µs]
28-
ml_dsa_87 pk verify time: [200.09 µs 200.23 µs 200.41 µs]
29-
30-
ml_dsa_44 epk verify time: [20.932 µs 20.966 µs 21.009 µs]
31-
ml_dsa_65 epk verify time: [26.543 µs 26.548 µs 26.554 µs]
32-
ml_dsa_87 epk verify time: [35.872 µs 35.886 µs 35.900 µs]
22+
ml_dsa_44 pk verify time: [20.988 µs 21.016 µs 21.058 µs]
23+
ml_dsa_65 pk verify time: [27.951 µs 27.996 µs 28.066 µs]
24+
ml_dsa_87 pk verify time: [36.424 µs 36.468 µs 36.547 µs]
3325
~~~

benches/benchmark.rs

+1-20
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use criterion::{criterion_group, criterion_main, Criterion};
2-
use fips204::traits::{KeyGen, Signer, Verifier};
2+
use fips204::traits::{Signer, Verifier};
33
use fips204::{ml_dsa_44, ml_dsa_65, ml_dsa_87};
44
use rand_core::{CryptoRng, RngCore};
55

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

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

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

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

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

64-
c.bench_function("ml_dsa_44 esk sign", |b| {
65-
b.iter(|| esk44.try_sign_with_rng(&mut rng, &msg, &[]))
66-
});
67-
c.bench_function("ml_dsa_65 esk sign", |b| {
68-
b.iter(|| esk65.try_sign_with_rng(&mut rng, &msg, &[]))
69-
});
70-
c.bench_function("ml_dsa_87 esk sign", |b| {
71-
b.iter(|| esk87.try_sign_with_rng(&mut rng, &msg, &[]))
72-
});
73-
7458
c.bench_function("ml_dsa_44 pk verify", |b| b.iter(|| pk44.verify(&msg, &sig44, &[])));
7559
c.bench_function("ml_dsa_65 pk verify", |b| b.iter(|| pk65.verify(&msg, &sig65, &[])));
7660
c.bench_function("ml_dsa_87 pk verify", |b| b.iter(|| pk87.verify(&msg, &sig87, &[])));
7761

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

8364
criterion_group!(benches, criterion_benchmark);

0 commit comments

Comments
 (0)