keygen: Stream s1 and s2 to reduce memory footprint - #1410
Conversation
Key generation held s1 and s2 as full vectors from sampling until the
end, although both are only needed one polynomial at a time: s1 for the
bit-packing and the in-place NTT, s2 as the addend of row k of
A*s1hat + s2.
Sampling now runs in batches of MLD_SAMPLE_BATCH polynomials that are
bit-packed into sk as they are produced, so only the batch is held in
memory; s1 is read back from sk for the in-place NTT.
The batch size is fixed at four regardless of
MLD_CONFIG_SERIAL_FIPS202_ONLY so that the allocation does not depend on
the FIPS202 backend configuration.
mld_compute_pack_t0_t1 correspondingly takes the bit-packed s2 and
unpacks row k on demand into the scratch buffer that afterwards receives
t1[k].
Keypair allocation in bytes:
default REDUCE_RAM
ML-DSA-44 26912 -> 22816 11584 -> 7488
ML-DSA-65 44320 -> 38176 14656 -> 8512
ML-DSA-87 75040 -> 66848 18752 -> 10560
Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
f29c67d to
d754692
Compare
There was a problem hiding this comment.
Mac Mini (M1, 2020) benchmarks (opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
48150 cycles |
46514 cycles |
1.04 |
ML-DSA-44 sign |
132054 cycles |
131105 cycles |
1.01 |
ML-DSA-44 verify |
47630 cycles |
47334 cycles |
1.01 |
ML-DSA-65 keypair |
82591 cycles |
81690 cycles |
1.01 |
ML-DSA-65 sign |
217115 cycles |
215357 cycles |
1.01 |
ML-DSA-65 verify |
79875 cycles |
79299 cycles |
1.01 |
ML-DSA-87 keypair |
134952 cycles |
132541 cycles |
1.02 |
ML-DSA-87 sign |
277896 cycles |
277657 cycles |
1.00 |
ML-DSA-87 verify |
133728 cycles |
133600 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Mac Mini (M1, 2020) benchmarks (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
114994 cycles |
112756 cycles |
1.02 |
ML-DSA-44 sign |
404028 cycles |
401203 cycles |
1.01 |
ML-DSA-44 verify |
120301 cycles |
119382 cycles |
1.01 |
ML-DSA-65 keypair |
249079 cycles |
192915 cycles |
1.29 |
ML-DSA-65 sign |
651172 cycles |
649931 cycles |
1.00 |
ML-DSA-65 verify |
193282 cycles |
193012 cycles |
1.00 |
ML-DSA-87 keypair |
321866 cycles |
318911 cycles |
1.01 |
ML-DSA-87 sign |
830037 cycles |
828661 cycles |
1.00 |
ML-DSA-87 verify |
322354 cycles |
321767 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Mac Mini (M1, 2020) benchmarks (no-opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-65 keypair |
249079 cycles |
192915 cycles |
1.29 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A72 (Raspberry Pi 4) benchmarks (opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
219794 cycles |
216756 cycles |
1.01 |
ML-DSA-44 sign |
593490 cycles |
599662 cycles |
0.99 |
ML-DSA-44 verify |
215712 cycles |
218576 cycles |
0.99 |
ML-DSA-65 keypair |
383319 cycles |
382553 cycles |
1.00 |
ML-DSA-65 sign |
986023 cycles |
991078 cycles |
0.99 |
ML-DSA-65 verify |
365839 cycles |
366619 cycles |
1.00 |
ML-DSA-87 keypair |
643917 cycles |
643881 cycles |
1.00 |
ML-DSA-87 sign |
1308035 cycles |
1331767 cycles |
0.98 |
ML-DSA-87 verify |
617303 cycles |
621211 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 4th gen (c7i)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
44718 cycles |
43430 cycles |
1.03 |
ML-DSA-44 sign |
130135 cycles |
130083 cycles |
1.00 |
ML-DSA-44 verify |
45240 cycles |
45192 cycles |
1.00 |
ML-DSA-65 keypair |
75701 cycles |
75802 cycles |
1.00 |
ML-DSA-65 sign |
213842 cycles |
213832 cycles |
1.00 |
ML-DSA-65 verify |
74378 cycles |
74497 cycles |
1.00 |
ML-DSA-87 keypair |
125582 cycles |
122973 cycles |
1.02 |
ML-DSA-87 sign |
271157 cycles |
271178 cycles |
1.00 |
ML-DSA-87 verify |
120753 cycles |
120739 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 4th gen (c7i) (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
92534 cycles |
91692 cycles |
1.01 |
ML-DSA-44 sign |
349981 cycles |
351662 cycles |
1.00 |
ML-DSA-44 verify |
99774 cycles |
99535 cycles |
1.00 |
ML-DSA-65 keypair |
154772 cycles |
154072 cycles |
1.00 |
ML-DSA-65 sign |
569039 cycles |
567980 cycles |
1.00 |
ML-DSA-65 verify |
159367 cycles |
159633 cycles |
1.00 |
ML-DSA-87 keypair |
259282 cycles |
255184 cycles |
1.02 |
ML-DSA-87 sign |
719628 cycles |
719063 cycles |
1.00 |
ML-DSA-87 verify |
263524 cycles |
263975 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 4th gen (c7a)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
48574 cycles |
47069 cycles |
1.03 |
ML-DSA-44 sign |
139001 cycles |
140117 cycles |
0.99 |
ML-DSA-44 verify |
49481 cycles |
49586 cycles |
1.00 |
ML-DSA-65 keypair |
82793 cycles |
82975 cycles |
1.00 |
ML-DSA-65 sign |
229613 cycles |
228193 cycles |
1.01 |
ML-DSA-65 verify |
82681 cycles |
82573 cycles |
1.00 |
ML-DSA-87 keypair |
133398 cycles |
130858 cycles |
1.02 |
ML-DSA-87 sign |
281230 cycles |
281432 cycles |
1.00 |
ML-DSA-87 verify |
129188 cycles |
129429 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'AMD EPYC 4th gen (c7a)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
48574 cycles |
47069 cycles |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 3rd gen (c6a)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
53680 cycles |
52044 cycles |
1.03 |
ML-DSA-44 sign |
155060 cycles |
154478 cycles |
1.00 |
ML-DSA-44 verify |
54273 cycles |
54171 cycles |
1.00 |
ML-DSA-65 keypair |
90114 cycles |
90288 cycles |
1.00 |
ML-DSA-65 sign |
254983 cycles |
255159 cycles |
1.00 |
ML-DSA-65 verify |
89391 cycles |
89723 cycles |
1.00 |
ML-DSA-87 keypair |
146111 cycles |
144023 cycles |
1.01 |
ML-DSA-87 sign |
310615 cycles |
311435 cycles |
1.00 |
ML-DSA-87 verify |
139031 cycles |
139380 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'AMD EPYC 3rd gen (c6a)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
53680 cycles |
52044 cycles |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton5
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
53198 cycles |
51548 cycles |
1.03 |
ML-DSA-44 sign |
162360 cycles |
162113 cycles |
1.00 |
ML-DSA-44 verify |
54802 cycles |
54690 cycles |
1.00 |
ML-DSA-65 keypair |
91798 cycles |
90140 cycles |
1.02 |
ML-DSA-65 sign |
267266 cycles |
267396 cycles |
1.00 |
ML-DSA-65 verify |
89749 cycles |
89797 cycles |
1.00 |
ML-DSA-87 keypair |
149170 cycles |
145755 cycles |
1.02 |
ML-DSA-87 sign |
336380 cycles |
336130 cycles |
1.00 |
ML-DSA-87 verify |
144922 cycles |
145410 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Graviton5'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
53198 cycles |
51548 cycles |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 3rd gen (c6i)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
63659 cycles |
61828 cycles |
1.03 |
ML-DSA-44 sign |
188048 cycles |
187695 cycles |
1.00 |
ML-DSA-44 verify |
66261 cycles |
66104 cycles |
1.00 |
ML-DSA-65 keypair |
110201 cycles |
108718 cycles |
1.01 |
ML-DSA-65 sign |
312645 cycles |
312467 cycles |
1.00 |
ML-DSA-65 verify |
109602 cycles |
109821 cycles |
1.00 |
ML-DSA-87 keypair |
174229 cycles |
170106 cycles |
1.02 |
ML-DSA-87 sign |
378340 cycles |
378541 cycles |
1.00 |
ML-DSA-87 verify |
171706 cycles |
171030 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 4th gen (c7a) (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
120408 cycles |
118953 cycles |
1.01 |
ML-DSA-44 sign |
457094 cycles |
459598 cycles |
0.99 |
ML-DSA-44 verify |
130575 cycles |
130974 cycles |
1.00 |
ML-DSA-65 keypair |
200701 cycles |
201005 cycles |
1.00 |
ML-DSA-65 sign |
743817 cycles |
744567 cycles |
1.00 |
ML-DSA-65 verify |
209070 cycles |
209501 cycles |
1.00 |
ML-DSA-87 keypair |
334607 cycles |
330311 cycles |
1.01 |
ML-DSA-87 sign |
941430 cycles |
935570 cycles |
1.01 |
ML-DSA-87 verify |
343621 cycles |
343111 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 3rd gen (c6a) (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
134625 cycles |
133208 cycles |
1.01 |
ML-DSA-44 sign |
517573 cycles |
517943 cycles |
1.00 |
ML-DSA-44 verify |
145957 cycles |
146617 cycles |
1.00 |
ML-DSA-65 keypair |
225045 cycles |
224548 cycles |
1.00 |
ML-DSA-65 sign |
844745 cycles |
845053 cycles |
1.00 |
ML-DSA-65 verify |
234352 cycles |
234404 cycles |
1.00 |
ML-DSA-87 keypair |
372612 cycles |
368072 cycles |
1.01 |
ML-DSA-87 sign |
1064680 cycles |
1059535 cycles |
1.00 |
ML-DSA-87 verify |
381584 cycles |
381179 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton5 (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
101908 cycles |
100305 cycles |
1.02 |
ML-DSA-44 sign |
369460 cycles |
368863 cycles |
1.00 |
ML-DSA-44 verify |
110264 cycles |
110142 cycles |
1.00 |
ML-DSA-65 keypair |
176353 cycles |
175442 cycles |
1.01 |
ML-DSA-65 sign |
597271 cycles |
596517 cycles |
1.00 |
ML-DSA-65 verify |
177033 cycles |
177401 cycles |
1.00 |
ML-DSA-87 keypair |
288966 cycles |
286665 cycles |
1.01 |
ML-DSA-87 sign |
757652 cycles |
757698 cycles |
1.00 |
ML-DSA-87 verify |
296289 cycles |
295740 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 3rd gen (c6i) (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
157204 cycles |
154677 cycles |
1.02 |
ML-DSA-44 sign |
591127 cycles |
589008 cycles |
1.00 |
ML-DSA-44 verify |
170268 cycles |
169721 cycles |
1.00 |
ML-DSA-65 keypair |
262641 cycles |
261373 cycles |
1.00 |
ML-DSA-65 sign |
964442 cycles |
962347 cycles |
1.00 |
ML-DSA-65 verify |
272112 cycles |
271274 cycles |
1.00 |
ML-DSA-87 keypair |
437568 cycles |
436223 cycles |
1.00 |
ML-DSA-87 sign |
1217416 cycles |
1229252 cycles |
0.99 |
ML-DSA-87 verify |
448706 cycles |
452607 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A72 (Raspberry Pi 4) benchmarks (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
301678 cycles |
300414 cycles |
1.00 |
ML-DSA-44 sign |
1127279 cycles |
1139126 cycles |
0.99 |
ML-DSA-44 verify |
328231 cycles |
331046 cycles |
0.99 |
ML-DSA-65 keypair |
547039 cycles |
548825 cycles |
1.00 |
ML-DSA-65 sign |
1853184 cycles |
1869608 cycles |
0.99 |
ML-DSA-65 verify |
525326 cycles |
529294 cycles |
0.99 |
ML-DSA-87 keypair |
846962 cycles |
849946 cycles |
1.00 |
ML-DSA-87 sign |
2362980 cycles |
2373676 cycles |
1.00 |
ML-DSA-87 verify |
868280 cycles |
881562 cycles |
0.98 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton4
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
69120 cycles |
67437 cycles |
1.02 |
ML-DSA-44 sign |
198254 cycles |
198251 cycles |
1.00 |
ML-DSA-44 verify |
70346 cycles |
70273 cycles |
1.00 |
ML-DSA-65 keypair |
120739 cycles |
119404 cycles |
1.01 |
ML-DSA-65 sign |
325685 cycles |
325857 cycles |
1.00 |
ML-DSA-65 verify |
116824 cycles |
116855 cycles |
1.00 |
ML-DSA-87 keypair |
199778 cycles |
196729 cycles |
1.02 |
ML-DSA-87 sign |
422686 cycles |
422612 cycles |
1.00 |
ML-DSA-87 verify |
193212 cycles |
193340 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton3
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
73253 cycles |
71611 cycles |
1.02 |
ML-DSA-44 sign |
209286 cycles |
209434 cycles |
1.00 |
ML-DSA-44 verify |
75035 cycles |
74963 cycles |
1.00 |
ML-DSA-65 keypair |
127581 cycles |
126094 cycles |
1.01 |
ML-DSA-65 sign |
345382 cycles |
345749 cycles |
1.00 |
ML-DSA-65 verify |
124420 cycles |
124181 cycles |
1.00 |
ML-DSA-87 keypair |
209885 cycles |
206303 cycles |
1.02 |
ML-DSA-87 sign |
439883 cycles |
439718 cycles |
1.00 |
ML-DSA-87 verify |
204487 cycles |
204622 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton4 (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
129631 cycles |
128049 cycles |
1.01 |
ML-DSA-44 sign |
441116 cycles |
441168 cycles |
1.00 |
ML-DSA-44 verify |
136518 cycles |
136467 cycles |
1.00 |
ML-DSA-65 keypair |
223131 cycles |
221666 cycles |
1.01 |
ML-DSA-65 sign |
714869 cycles |
714474 cycles |
1.00 |
ML-DSA-65 verify |
220998 cycles |
220904 cycles |
1.00 |
ML-DSA-87 keypair |
368214 cycles |
365008 cycles |
1.01 |
ML-DSA-87 sign |
916856 cycles |
916566 cycles |
1.00 |
ML-DSA-87 verify |
371703 cycles |
371340 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton3 (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
140216 cycles |
138707 cycles |
1.01 |
ML-DSA-44 sign |
487346 cycles |
486846 cycles |
1.00 |
ML-DSA-44 verify |
149713 cycles |
149535 cycles |
1.00 |
ML-DSA-65 keypair |
244296 cycles |
242459 cycles |
1.01 |
ML-DSA-65 sign |
794080 cycles |
793806 cycles |
1.00 |
ML-DSA-65 verify |
242221 cycles |
242128 cycles |
1.00 |
ML-DSA-87 keypair |
399157 cycles |
395846 cycles |
1.01 |
ML-DSA-87 sign |
1017342 cycles |
1016691 cycles |
1.00 |
ML-DSA-87 verify |
405466 cycles |
404895 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton2
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
115133 cycles |
112613 cycles |
1.02 |
ML-DSA-44 sign |
354181 cycles |
354097 cycles |
1.00 |
ML-DSA-44 verify |
117569 cycles |
117356 cycles |
1.00 |
ML-DSA-65 keypair |
196792 cycles |
194908 cycles |
1.01 |
ML-DSA-65 sign |
584510 cycles |
584211 cycles |
1.00 |
ML-DSA-65 verify |
193690 cycles |
193186 cycles |
1.00 |
ML-DSA-87 keypair |
325055 cycles |
321947 cycles |
1.01 |
ML-DSA-87 sign |
749467 cycles |
749473 cycles |
1.00 |
ML-DSA-87 verify |
319097 cycles |
319705 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton2 (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
214544 cycles |
212605 cycles |
1.01 |
ML-DSA-44 sign |
760320 cycles |
761270 cycles |
1.00 |
ML-DSA-44 verify |
229546 cycles |
230160 cycles |
1.00 |
ML-DSA-65 keypair |
377324 cycles |
376264 cycles |
1.00 |
ML-DSA-65 sign |
1247556 cycles |
1248079 cycles |
1.00 |
ML-DSA-65 verify |
371353 cycles |
372327 cycles |
1.00 |
ML-DSA-87 keypair |
604538 cycles |
601548 cycles |
1.00 |
ML-DSA-87 sign |
1585682 cycles |
1584951 cycles |
1.00 |
ML-DSA-87 verify |
616284 cycles |
617704 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A55 (Snapdragon 888) benchmarks (opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
277824 cycles |
271982 cycles |
1.02 |
ML-DSA-44 sign |
823694 cycles |
811078 cycles |
1.02 |
ML-DSA-44 verify |
275049 cycles |
273238 cycles |
1.01 |
ML-DSA-65 keypair |
474095 cycles |
466703 cycles |
1.02 |
ML-DSA-65 sign |
1331198 cycles |
1368970 cycles |
0.97 |
ML-DSA-65 verify |
453959 cycles |
454427 cycles |
1.00 |
ML-DSA-87 keypair |
806322 cycles |
799628 cycles |
1.01 |
ML-DSA-87 sign |
1824451 cycles |
1881952 cycles |
0.97 |
ML-DSA-87 verify |
771985 cycles |
779593 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A76 (Raspberry Pi 5) benchmarks (opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
114986 cycles |
112035 cycles |
1.03 |
ML-DSA-44 sign |
353789 cycles |
353427 cycles |
1.00 |
ML-DSA-44 verify |
117051 cycles |
117277 cycles |
1.00 |
ML-DSA-65 keypair |
196619 cycles |
194588 cycles |
1.01 |
ML-DSA-65 sign |
583519 cycles |
583734 cycles |
1.00 |
ML-DSA-65 verify |
192930 cycles |
193178 cycles |
1.00 |
ML-DSA-87 keypair |
325288 cycles |
320562 cycles |
1.01 |
ML-DSA-87 sign |
746290 cycles |
746825 cycles |
1.00 |
ML-DSA-87 verify |
318268 cycles |
318130 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A76 (Raspberry Pi 5) benchmarks (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
214318 cycles |
211494 cycles |
1.01 |
ML-DSA-44 sign |
760599 cycles |
759270 cycles |
1.00 |
ML-DSA-44 verify |
229627 cycles |
228971 cycles |
1.00 |
ML-DSA-65 keypair |
377876 cycles |
375085 cycles |
1.01 |
ML-DSA-65 sign |
1246744 cycles |
1247662 cycles |
1.00 |
ML-DSA-65 verify |
371702 cycles |
371342 cycles |
1.00 |
ML-DSA-87 keypair |
605887 cycles |
600696 cycles |
1.01 |
ML-DSA-87 sign |
1584024 cycles |
1584815 cycles |
1.00 |
ML-DSA-87 verify |
617210 cycles |
616331 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-A55 (Snapdragon 888) benchmarks (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
472521 cycles |
465334 cycles |
1.02 |
ML-DSA-44 sign |
2135043 cycles |
2136027 cycles |
1.00 |
ML-DSA-44 verify |
556744 cycles |
556763 cycles |
1.00 |
ML-DSA-65 keypair |
788323 cycles |
784205 cycles |
1.01 |
ML-DSA-65 sign |
3513127 cycles |
3490891 cycles |
1.01 |
ML-DSA-65 verify |
869319 cycles |
869429 cycles |
1.00 |
ML-DSA-87 keypair |
1276017 cycles |
1267792 cycles |
1.01 |
ML-DSA-87 sign |
4343905 cycles |
4336698 cycles |
1.00 |
ML-DSA-87 verify |
1386552 cycles |
1394843 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
SpacemiT K1 8 (Banana Pi F3) benchmarks (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
776194 cycles |
760609 cycles |
1.02 |
ML-DSA-44 sign |
3144181 cycles |
3141192 cycles |
1.00 |
ML-DSA-44 verify |
859251 cycles |
859636 cycles |
1.00 |
ML-DSA-65 keypair |
1295405 cycles |
1288789 cycles |
1.01 |
ML-DSA-65 sign |
5089426 cycles |
5078763 cycles |
1.00 |
ML-DSA-65 verify |
1367872 cycles |
1368051 cycles |
1.00 |
ML-DSA-87 keypair |
2136388 cycles |
2110967 cycles |
1.01 |
ML-DSA-87 sign |
6358431 cycles |
6371124 cycles |
1.00 |
ML-DSA-87 verify |
2225827 cycles |
2227585 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
CBMC Results (ML-DSA-44, REDUCE-RAM)
Full Results (207 proofs)
|
CBMC Results (ML-DSA-87, REDUCE-RAM)
Full Results (207 proofs)
|
CBMC Results (ML-DSA-65, REDUCE-RAM)
Full Results (207 proofs)
|
CBMC Results (ML-DSA-44)
Full Results (207 proofs)
|
CBMC Results (ML-DSA-65)
Full Results (207 proofs)
|
CBMC Results (ML-DSA-87)
Full Results (207 proofs)
|
There was a problem hiding this comment.
Arm Cortex-M55 (NUCLEO-N657X0-Q) benchmarks (opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
2144222 cycles |
2129870 cycles |
1.01 |
ML-DSA-44 sign |
17851722 cycles |
17851737 cycles |
1.00 |
ML-DSA-44 verify |
2398854 cycles |
2398861 cycles |
1.00 |
ML-DSA-65 keypair |
3737768 cycles |
3731128 cycles |
1.00 |
ML-DSA-65 sign |
14799296 cycles |
14793522 cycles |
1.00 |
ML-DSA-65 verify |
4013893 cycles |
4012814 cycles |
1.00 |
ML-DSA-87 keypair |
6522906 cycles |
6482838 cycles |
1.01 |
ML-DSA-87 sign |
24787769 cycles |
24785143 cycles |
1.00 |
ML-DSA-87 verify |
6864906 cycles |
6864412 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Arm Cortex-M55 (NUCLEO-N657X0-Q) benchmarks (no-opt)
Details
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
2342009 cycles |
2328440 cycles |
1.01 |
ML-DSA-44 sign |
17851737 cycles |
17851737 cycles |
1 |
ML-DSA-44 verify |
2398868 cycles |
2398876 cycles |
1.00 |
ML-DSA-65 keypair |
4031095 cycles |
4025122 cycles |
1.00 |
ML-DSA-65 sign |
14793522 cycles |
14793522 cycles |
1 |
ML-DSA-65 verify |
4012785 cycles |
4012792 cycles |
1.00 |
ML-DSA-87 keypair |
6903169 cycles |
6864887 cycles |
1.01 |
ML-DSA-87 sign |
24785165 cycles |
24785157 cycles |
1.00 |
ML-DSA-87 verify |
6864426 cycles |
6864412 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Mac Mini (M1, 2020) benchmarks (opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
48123 cycles |
46514 cycles |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Mac Mini (M1, 2020) benchmarks (opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
48100 cycles |
46514 cycles |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Mac Mini (M1, 2020) benchmarks (opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
47935 cycles |
46514 cycles |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Mac Mini (M1, 2020) benchmarks (opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
48247 cycles |
46514 cycles |
1.04 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Mac Mini (M1, 2020) benchmarks (opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: d754692 | Previous: 5a21649 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
48150 cycles |
46514 cycles |
1.04 |
This comment was automatically generated by workflow using github-action-benchmark.
Key generation held s1 and s2 as full vectors from sampling until the end, although both are only needed one polynomial at a time: s1 for the bit-packing and the in-place NTT, s2 as the addend of row k of A*s1hat + s2.
Sampling now runs in batches of MLD_SAMPLE_BATCH polynomials that are bit-packed into sk as they are produced, so only the batch is held in memory; s1 is read back from sk for the in-place NTT.
The batch size is fixed at four regardless of
MLD_CONFIG_SERIAL_FIPS202_ONLY so that the allocation does not depend on the FIPS202 backend configuration.
mld_compute_pack_t0_t1 correspondingly takes the bit-packed s2 and unpacks row k on demand into the scratch buffer that afterwards receives t1[k].
Keypair allocation in bytes: