[TEST] sign: Keep w1 in packed form during signature generation - #1345
[TEST] sign: Keep w1 in packed form during signature generation#1345mkannwischer wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Mac Mini (M1, 2020) benchmarks (opt)
Details
| Benchmark suite | Current: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
46499 cycles |
46693 cycles |
1.00 |
ML-DSA-44 sign |
131422 cycles |
131639 cycles |
1.00 |
ML-DSA-44 verify |
47330 cycles |
47512 cycles |
1.00 |
ML-DSA-65 keypair |
81677 cycles |
82139 cycles |
0.99 |
ML-DSA-65 sign |
215318 cycles |
216693 cycles |
0.99 |
ML-DSA-65 verify |
79307 cycles |
79749 cycles |
0.99 |
ML-DSA-87 keypair |
132460 cycles |
132410 cycles |
1.00 |
ML-DSA-87 sign |
277573 cycles |
277436 cycles |
1.00 |
ML-DSA-87 verify |
133609 cycles |
133557 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
113041 cycles |
112719 cycles |
1.00 |
ML-DSA-44 sign |
403582 cycles |
401054 cycles |
1.01 |
ML-DSA-44 verify |
119649 cycles |
119337 cycles |
1.00 |
ML-DSA-65 keypair |
193797 cycles |
192910 cycles |
1.00 |
ML-DSA-65 sign |
651522 cycles |
649886 cycles |
1.00 |
ML-DSA-65 verify |
192968 cycles |
193003 cycles |
1.00 |
ML-DSA-87 keypair |
318881 cycles |
318938 cycles |
1.00 |
ML-DSA-87 sign |
831201 cycles |
828901 cycles |
1.00 |
ML-DSA-87 verify |
321851 cycles |
321792 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)
Details
| Benchmark suite | Current: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
51992 cycles |
52024 cycles |
1.00 |
ML-DSA-44 sign |
156912 cycles |
155466 cycles |
1.01 |
ML-DSA-44 verify |
54278 cycles |
54360 cycles |
1.00 |
ML-DSA-65 keypair |
89436 cycles |
89551 cycles |
1.00 |
ML-DSA-65 sign |
253046 cycles |
253989 cycles |
1.00 |
ML-DSA-65 verify |
89333 cycles |
89083 cycles |
1.00 |
ML-DSA-87 keypair |
142176 cycles |
143154 cycles |
0.99 |
ML-DSA-87 sign |
310131 cycles |
312610 cycles |
0.99 |
ML-DSA-87 verify |
138978 cycles |
140028 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.
Graviton5
Details
| Benchmark suite | Current: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
51531 cycles |
51548 cycles |
1.00 |
ML-DSA-44 sign |
162157 cycles |
162106 cycles |
1.00 |
ML-DSA-44 verify |
54767 cycles |
54690 cycles |
1.00 |
ML-DSA-65 keypair |
90115 cycles |
90141 cycles |
1.00 |
ML-DSA-65 sign |
266058 cycles |
267359 cycles |
1.00 |
ML-DSA-65 verify |
89751 cycles |
89806 cycles |
1.00 |
ML-DSA-87 keypair |
145895 cycles |
145936 cycles |
1.00 |
ML-DSA-87 sign |
334652 cycles |
336077 cycles |
1.00 |
ML-DSA-87 verify |
144986 cycles |
145423 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
47015 cycles |
47187 cycles |
1.00 |
ML-DSA-44 sign |
139350 cycles |
139486 cycles |
1.00 |
ML-DSA-44 verify |
49313 cycles |
49375 cycles |
1.00 |
ML-DSA-65 keypair |
82024 cycles |
81987 cycles |
1.00 |
ML-DSA-65 sign |
226868 cycles |
226201 cycles |
1.00 |
ML-DSA-65 verify |
82176 cycles |
81854 cycles |
1.00 |
ML-DSA-87 keypair |
129457 cycles |
129501 cycles |
1.00 |
ML-DSA-87 sign |
281321 cycles |
280015 cycles |
1.00 |
ML-DSA-87 verify |
129129 cycles |
128702 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 (opt)
Details
| Benchmark suite | Current: 5d4def8 | Previous: 054cbd9 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
112264 cycles |
112330 cycles |
1.00 |
ML-DSA-44 sign |
354127 cycles |
353551 cycles |
1.00 |
ML-DSA-44 verify |
117167 cycles |
117062 cycles |
1.00 |
ML-DSA-65 keypair |
194664 cycles |
194722 cycles |
1.00 |
ML-DSA-65 sign |
583414 cycles |
583744 cycles |
1.00 |
ML-DSA-65 verify |
193029 cycles |
192815 cycles |
1.00 |
ML-DSA-87 keypair |
321121 cycles |
320714 cycles |
1.00 |
ML-DSA-87 sign |
748068 cycles |
747066 cycles |
1.00 |
ML-DSA-87 verify |
318551 cycles |
318491 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
100120 cycles |
99901 cycles |
1.00 |
ML-DSA-44 sign |
369041 cycles |
368991 cycles |
1.00 |
ML-DSA-44 verify |
110325 cycles |
110046 cycles |
1.00 |
ML-DSA-65 keypair |
175728 cycles |
175343 cycles |
1.00 |
ML-DSA-65 sign |
596071 cycles |
596955 cycles |
1.00 |
ML-DSA-65 verify |
177190 cycles |
177450 cycles |
1.00 |
ML-DSA-87 keypair |
285818 cycles |
286772 cycles |
1.00 |
ML-DSA-87 sign |
756579 cycles |
757666 cycles |
1.00 |
ML-DSA-87 verify |
296564 cycles |
295759 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
133305 cycles |
133062 cycles |
1.00 |
ML-DSA-44 sign |
520085 cycles |
518046 cycles |
1.00 |
ML-DSA-44 verify |
146409 cycles |
146758 cycles |
1.00 |
ML-DSA-65 keypair |
225051 cycles |
224764 cycles |
1.00 |
ML-DSA-65 sign |
851592 cycles |
844924 cycles |
1.01 |
ML-DSA-65 verify |
235552 cycles |
234589 cycles |
1.00 |
ML-DSA-87 keypair |
367491 cycles |
368287 cycles |
1.00 |
ML-DSA-87 sign |
1063877 cycles |
1062237 cycles |
1.00 |
ML-DSA-87 verify |
381119 cycles |
382393 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)
Details
| Benchmark suite | Current: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
43262 cycles |
43280 cycles |
1.00 |
ML-DSA-44 sign |
130031 cycles |
130363 cycles |
1.00 |
ML-DSA-44 verify |
45205 cycles |
45207 cycles |
1.00 |
ML-DSA-65 keypair |
76253 cycles |
75602 cycles |
1.01 |
ML-DSA-65 sign |
213649 cycles |
213745 cycles |
1.00 |
ML-DSA-65 verify |
74412 cycles |
74499 cycles |
1.00 |
ML-DSA-87 keypair |
122977 cycles |
122953 cycles |
1.00 |
ML-DSA-87 sign |
270651 cycles |
271264 cycles |
1.00 |
ML-DSA-87 verify |
120626 cycles |
120625 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)
Details
| Benchmark suite | Current: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
61866 cycles |
61551 cycles |
1.01 |
ML-DSA-44 sign |
189032 cycles |
187830 cycles |
1.01 |
ML-DSA-44 verify |
66403 cycles |
65936 cycles |
1.01 |
ML-DSA-65 keypair |
110865 cycles |
109602 cycles |
1.01 |
ML-DSA-65 sign |
315673 cycles |
312017 cycles |
1.01 |
ML-DSA-65 verify |
110386 cycles |
110468 cycles |
1.00 |
ML-DSA-87 keypair |
170638 cycles |
170364 cycles |
1.00 |
ML-DSA-87 sign |
380537 cycles |
379739 cycles |
1.00 |
ML-DSA-87 verify |
171021 cycles |
171438 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
118279 cycles |
118530 cycles |
1.00 |
ML-DSA-44 sign |
456205 cycles |
461161 cycles |
0.99 |
ML-DSA-44 verify |
130727 cycles |
131315 cycles |
1.00 |
ML-DSA-65 keypair |
202035 cycles |
201098 cycles |
1.00 |
ML-DSA-65 sign |
739962 cycles |
749188 cycles |
0.99 |
ML-DSA-65 verify |
209288 cycles |
210745 cycles |
0.99 |
ML-DSA-87 keypair |
331683 cycles |
330323 cycles |
1.00 |
ML-DSA-87 sign |
949179 cycles |
936042 cycles |
1.01 |
ML-DSA-87 verify |
344442 cycles |
343086 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
Details
| Benchmark suite | Current: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
67394 cycles |
67420 cycles |
1.00 |
ML-DSA-44 sign |
198887 cycles |
198371 cycles |
1.00 |
ML-DSA-44 verify |
70234 cycles |
70138 cycles |
1.00 |
ML-DSA-65 keypair |
119319 cycles |
119364 cycles |
1.00 |
ML-DSA-65 sign |
325570 cycles |
325865 cycles |
1.00 |
ML-DSA-65 verify |
116764 cycles |
116672 cycles |
1.00 |
ML-DSA-87 keypair |
196104 cycles |
196322 cycles |
1.00 |
ML-DSA-87 sign |
421279 cycles |
421757 cycles |
1.00 |
ML-DSA-87 verify |
193124 cycles |
193271 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
92073 cycles |
91747 cycles |
1.00 |
ML-DSA-44 sign |
348906 cycles |
351522 cycles |
0.99 |
ML-DSA-44 verify |
99722 cycles |
99477 cycles |
1.00 |
ML-DSA-65 keypair |
154705 cycles |
154194 cycles |
1.00 |
ML-DSA-65 sign |
567740 cycles |
570514 cycles |
1.00 |
ML-DSA-65 verify |
160150 cycles |
159873 cycles |
1.00 |
ML-DSA-87 keypair |
255566 cycles |
255155 cycles |
1.00 |
ML-DSA-87 sign |
725121 cycles |
721323 cycles |
1.01 |
ML-DSA-87 verify |
264110 cycles |
264456 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
154335 cycles |
158422 cycles |
0.97 |
ML-DSA-44 sign |
590593 cycles |
601014 cycles |
0.98 |
ML-DSA-44 verify |
169673 cycles |
172894 cycles |
0.98 |
ML-DSA-65 keypair |
262410 cycles |
264399 cycles |
0.99 |
ML-DSA-65 sign |
958273 cycles |
968865 cycles |
0.99 |
ML-DSA-65 verify |
271961 cycles |
273964 cycles |
0.99 |
ML-DSA-87 keypair |
431560 cycles |
431365 cycles |
1.00 |
ML-DSA-87 sign |
1216608 cycles |
1212110 cycles |
1.00 |
ML-DSA-87 verify |
447494 cycles |
447223 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: 5d4def8 | Previous: 054cbd9 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
211726 cycles |
211728 cycles |
1.00 |
ML-DSA-44 sign |
760199 cycles |
760109 cycles |
1.00 |
ML-DSA-44 verify |
229468 cycles |
229502 cycles |
1.00 |
ML-DSA-65 keypair |
376009 cycles |
376008 cycles |
1.00 |
ML-DSA-65 sign |
1244841 cycles |
1247901 cycles |
1.00 |
ML-DSA-65 verify |
371742 cycles |
372060 cycles |
1.00 |
ML-DSA-87 keypair |
601802 cycles |
601421 cycles |
1.00 |
ML-DSA-87 sign |
1584132 cycles |
1584160 cycles |
1.00 |
ML-DSA-87 verify |
617412 cycles |
617191 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
127901 cycles |
127813 cycles |
1.00 |
ML-DSA-44 sign |
441463 cycles |
441084 cycles |
1.00 |
ML-DSA-44 verify |
136454 cycles |
136359 cycles |
1.00 |
ML-DSA-65 keypair |
222974 cycles |
221541 cycles |
1.01 |
ML-DSA-65 sign |
714072 cycles |
714023 cycles |
1.00 |
ML-DSA-65 verify |
220721 cycles |
220550 cycles |
1.00 |
ML-DSA-87 keypair |
364166 cycles |
364478 cycles |
1.00 |
ML-DSA-87 sign |
914711 cycles |
915447 cycles |
1.00 |
ML-DSA-87 verify |
371322 cycles |
371015 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
71557 cycles |
71597 cycles |
1.00 |
ML-DSA-44 sign |
209686 cycles |
209159 cycles |
1.00 |
ML-DSA-44 verify |
74884 cycles |
74852 cycles |
1.00 |
ML-DSA-65 keypair |
126010 cycles |
125984 cycles |
1.00 |
ML-DSA-65 sign |
344287 cycles |
345430 cycles |
1.00 |
ML-DSA-65 verify |
124018 cycles |
124063 cycles |
1.00 |
ML-DSA-87 keypair |
206404 cycles |
206135 cycles |
1.00 |
ML-DSA-87 sign |
439208 cycles |
439538 cycles |
1.00 |
ML-DSA-87 verify |
204341 cycles |
204587 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
138383 cycles |
138182 cycles |
1.00 |
ML-DSA-44 sign |
486327 cycles |
485648 cycles |
1.00 |
ML-DSA-44 verify |
149365 cycles |
149256 cycles |
1.00 |
ML-DSA-65 keypair |
241228 cycles |
241821 cycles |
1.00 |
ML-DSA-65 sign |
790653 cycles |
791607 cycles |
1.00 |
ML-DSA-65 verify |
241725 cycles |
241496 cycles |
1.00 |
ML-DSA-87 keypair |
395267 cycles |
395204 cycles |
1.00 |
ML-DSA-87 sign |
1011918 cycles |
1014180 cycles |
1.00 |
ML-DSA-87 verify |
404516 cycles |
404073 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
112286 cycles |
112551 cycles |
1.00 |
ML-DSA-44 sign |
354432 cycles |
353962 cycles |
1.00 |
ML-DSA-44 verify |
117401 cycles |
117328 cycles |
1.00 |
ML-DSA-65 keypair |
194334 cycles |
195236 cycles |
1.00 |
ML-DSA-65 sign |
583906 cycles |
585268 cycles |
1.00 |
ML-DSA-65 verify |
193425 cycles |
193635 cycles |
1.00 |
ML-DSA-87 keypair |
320609 cycles |
321368 cycles |
1.00 |
ML-DSA-87 sign |
748016 cycles |
752084 cycles |
0.99 |
ML-DSA-87 verify |
318431 cycles |
319287 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: 5d4def8 | Previous: 7851260 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
212071 cycles |
212480 cycles |
1.00 |
ML-DSA-44 sign |
762178 cycles |
761123 cycles |
1.00 |
ML-DSA-44 verify |
229335 cycles |
230097 cycles |
1.00 |
ML-DSA-65 keypair |
375384 cycles |
376199 cycles |
1.00 |
ML-DSA-65 sign |
1246307 cycles |
1248075 cycles |
1.00 |
ML-DSA-65 verify |
371258 cycles |
372300 cycles |
1.00 |
ML-DSA-87 keypair |
601011 cycles |
601461 cycles |
1.00 |
ML-DSA-87 sign |
1587542 cycles |
1607787 cycles |
0.99 |
ML-DSA-87 verify |
616778 cycles |
617478 cycles |
1.00 |
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: 5d4def8 | Previous: f4cf612 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
217861 cycles |
215701 cycles |
1.01 |
ML-DSA-44 sign |
597632 cycles |
594374 cycles |
1.01 |
ML-DSA-44 verify |
216158 cycles |
214981 cycles |
1.01 |
ML-DSA-65 keypair |
377361 cycles |
378444 cycles |
1.00 |
ML-DSA-65 sign |
978888 cycles |
978381 cycles |
1.00 |
ML-DSA-65 verify |
366624 cycles |
360940 cycles |
1.02 |
ML-DSA-87 keypair |
637540 cycles |
636245 cycles |
1.00 |
ML-DSA-87 sign |
1317451 cycles |
1316684 cycles |
1.00 |
ML-DSA-87 verify |
618384 cycles |
618556 cycles |
1.00 |
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: 5d4def8 | Previous: f4cf612 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
298055 cycles |
301643 cycles |
0.99 |
ML-DSA-44 sign |
1129253 cycles |
1141890 cycles |
0.99 |
ML-DSA-44 verify |
327651 cycles |
331704 cycles |
0.99 |
ML-DSA-65 keypair |
545806 cycles |
547829 cycles |
1.00 |
ML-DSA-65 sign |
1859339 cycles |
1866763 cycles |
1.00 |
ML-DSA-65 verify |
526525 cycles |
529253 cycles |
0.99 |
ML-DSA-87 keypair |
841421 cycles |
850050 cycles |
0.99 |
ML-DSA-87 sign |
2355899 cycles |
2368120 cycles |
0.99 |
ML-DSA-87 verify |
869227 cycles |
877810 cycles |
0.99 |
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: 5d4def8 | Previous: f4cf612 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
272071 cycles |
271896 cycles |
1.00 |
ML-DSA-44 sign |
824044 cycles |
812577 cycles |
1.01 |
ML-DSA-44 verify |
275127 cycles |
273810 cycles |
1.00 |
ML-DSA-65 keypair |
466362 cycles |
465436 cycles |
1.00 |
ML-DSA-65 sign |
1340432 cycles |
1340764 cycles |
1.00 |
ML-DSA-65 verify |
449951 cycles |
453631 cycles |
0.99 |
ML-DSA-87 keypair |
799353 cycles |
798294 cycles |
1.00 |
ML-DSA-87 sign |
1841464 cycles |
1827503 cycles |
1.01 |
ML-DSA-87 verify |
774277 cycles |
773667 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: 5d4def8 | Previous: f4cf612 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
465762 cycles |
466025 cycles |
1.00 |
ML-DSA-44 sign |
2138629 cycles |
2142080 cycles |
1.00 |
ML-DSA-44 verify |
557640 cycles |
558559 cycles |
1.00 |
ML-DSA-65 keypair |
783662 cycles |
784222 cycles |
1.00 |
ML-DSA-65 sign |
3493400 cycles |
3496946 cycles |
1.00 |
ML-DSA-65 verify |
868965 cycles |
867603 cycles |
1.00 |
ML-DSA-87 keypair |
1265942 cycles |
1269447 cycles |
1.00 |
ML-DSA-87 sign |
4371817 cycles |
4335969 cycles |
1.01 |
ML-DSA-87 verify |
1391508 cycles |
1393383 cycles |
1.00 |
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: 5d4def8 | Previous: 054cbd9 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
757636 cycles |
760547 cycles |
1.00 |
ML-DSA-44 sign |
3138764 cycles |
3141975 cycles |
1.00 |
ML-DSA-44 verify |
856752 cycles |
859659 cycles |
1.00 |
ML-DSA-65 keypair |
1288516 cycles |
1289672 cycles |
1.00 |
ML-DSA-65 sign |
5078002 cycles |
5094204 cycles |
1.00 |
ML-DSA-65 verify |
1368078 cycles |
1368660 cycles |
1.00 |
ML-DSA-87 keypair |
2110252 cycles |
2109927 cycles |
1.00 |
ML-DSA-87 sign |
6353839 cycles |
6359962 cycles |
1.00 |
ML-DSA-87 verify |
2226495 cycles |
2226328 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
CBMC Results (ML-DSA-87, REDUCE-RAM)
Full Results (212 proofs)
|
CBMC Results (ML-DSA-65, REDUCE-RAM)
Full Results (212 proofs)
|
CBMC Results (ML-DSA-87)
Full Results (212 proofs)
|
CBMC Results (ML-DSA-44)
Full Results (212 proofs)
|
CBMC Results (ML-DSA-65)
Full Results (212 proofs)
|
CBMC Results (ML-DSA-44, REDUCE-RAM)
Full Results (212 proofs)
|
There was a problem hiding this comment.
Arm Cortex-M55 (NUCLEO-N657X0-Q) benchmarks (opt)
Details
| Benchmark suite | Current: 5d4def8 | Previous: 054cbd9 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
2328425 cycles |
2328440 cycles |
1.00 |
ML-DSA-44 sign |
17791719 cycles |
17851737 cycles |
1.00 |
ML-DSA-44 verify |
2398854 cycles |
2398876 cycles |
1.00 |
ML-DSA-65 keypair |
4025137 cycles |
4025122 cycles |
1.00 |
ML-DSA-65 sign |
15034565 cycles |
14793522 cycles |
1.02 |
ML-DSA-65 verify |
4012799 cycles |
4012792 cycles |
1.00 |
ML-DSA-87 keypair |
6864894 cycles |
6864887 cycles |
1.00 |
ML-DSA-87 sign |
25049136 cycles |
24785157 cycles |
1.01 |
ML-DSA-87 verify |
6864405 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: 5d4def8 | Previous: 054cbd9 | Ratio |
|---|---|---|---|
ML-DSA-44 keypair |
2328425 cycles |
2328440 cycles |
1.00 |
ML-DSA-44 sign |
17791719 cycles |
17851737 cycles |
1.00 |
ML-DSA-44 verify |
2398854 cycles |
2398876 cycles |
1.00 |
ML-DSA-65 keypair |
4025137 cycles |
4025122 cycles |
1.00 |
ML-DSA-65 sign |
15034565 cycles |
14793522 cycles |
1.02 |
ML-DSA-65 verify |
4012799 cycles |
4012792 cycles |
1.00 |
ML-DSA-87 keypair |
6864894 cycles |
6864887 cycles |
1.00 |
ML-DSA-87 sign |
25049136 cycles |
24785157 cycles |
1.01 |
ML-DSA-87 verify |
6864405 cycles |
6864412 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
5d4def8 to
aa39a35
Compare
|
Interesting! What motivated this idea? Was it just from poking around in the area? |
The signing attempt held w1 as a full mld_polyveck, but w1 is only
needed as the w1Encode input to H and, coefficient-wise, as the a1
argument of MakeHint. Both work from the packed encoding, so Decompose
and w1Encode now run one polynomial at a time into a
MLDSA_K * MLDSA_POLYW1_PACKEDBYTES buffer, and mld_pack_sig_h recovers
each row with the new mld_polyw1_unpack.
With w1 gone, the matrix-vector scratch is the sole remaining user of
the buffer the two shared. In REDUCE_RAM mode that scratch is a single
polynomial rather than a polyvecl, and it now shares storage with z, so
the buffer disappears.
Signing allocation in bytes:
default REDUCE_RAM
ML-DSA-44 44704 -> 44448 13120 -> 9792
ML-DSA-65 69312 -> 68032 17248 -> 11872
ML-DSA-87 108224 -> 107200 21344 -> 14176
mld_polyveck_decompose and mld_polyveck_pack_w1 have no other callers
and are replaced by the fused mld_polyveck_decompose_pack_w1.
Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
aa39a35 to
c39a390
Compare
The motivation is to reduce memory consumption during signing. For many consumers that's the biggest issue for ML-DSA so every KiB we can save is going to make someone more happy. The idea isn't new. We've done that on embedded platforms for a while, see https://eprint.iacr.org/2022/323. I still have to go through the implementation to see if something can be simplified. I'd be very happy to see this merged for v2.1 though. If this makes it into the release, we should also revisit keygen as that then needs more memory than signing which is only because I stopped optimizing after it was below signing memory. |
The signing attempt held w1 as a full mld_polyveck, but w1 is only needed as the w1Encode input to H and, coefficient-wise, as the a1 argument of MakeHint. Both work from the packed encoding, so Decompose and w1Encode now run one polynomial at a time into a MLDSA_K * MLDSA_POLYW1_PACKEDBYTES buffer, and mld_pack_sig_h recovers each row with the new mld_polyw1_unpack.
With w1 gone, the matrix-vector scratch is the sole remaining user of the buffer the two shared. In REDUCE_RAM mode that scratch is a single polynomial rather than a polyvecl, and it now shares storage with z, so the buffer disappears.
Signing allocation in bytes:
mld_polyveck_decompose and mld_polyveck_pack_w1 have no other callers and are replaced by the fused mld_polyveck_decompose_pack_w1.