Skip to content

Conversation

@hanno-becker
Copy link
Contributor

Copy of #934 to measure the impact on performance.

On a bare metal system with the MMU disabled or alignment checking
enabled, accessing memory using an unaligned address causes an alignment
fault exception.  By changing the memory accesses to smaller sizes that
matches the alignment of the addresses, the code can run without
depending on the CPU handling and accepting unaligned addresses.

Signed-off-by: Anders Sonmark <Anders.Sonmark@axis.com>
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mac Mini (M1, 2020) benchmarks (opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 46203 cycles 46209 cycles 1.00
ML-DSA-44 sign 131282 cycles 131288 cycles 1.00
ML-DSA-44 verify 47764 cycles 47767 cycles 1.00
ML-DSA-65 keypair 81024 cycles 81035 cycles 1.00
ML-DSA-65 sign 215763 cycles 215803 cycles 1.00
ML-DSA-65 verify 80066 cycles 80066 cycles 1
ML-DSA-87 keypair 132164 cycles 132160 cycles 1.00
ML-DSA-87 sign 276875 cycles 276818 cycles 1.00
ML-DSA-87 verify 130405 cycles 130405 cycles 1

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mac Mini (M1, 2020) benchmarks (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 114175 cycles 114150 cycles 1.00
ML-DSA-44 sign 418047 cycles 417929 cycles 1.00
ML-DSA-44 verify 122308 cycles 122264 cycles 1.00
ML-DSA-65 keypair 195537 cycles 195549 cycles 1.00
ML-DSA-65 sign 682501 cycles 682471 cycles 1.00
ML-DSA-65 verify 197760 cycles 197791 cycles 1.00
ML-DSA-87 keypair 322668 cycles 322658 cycles 1.00
ML-DSA-87 sign 864593 cycles 864622 cycles 1.00
ML-DSA-87 verify 328639 cycles 328606 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 4th gen (c7i)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 34361 cycles 34500 cycles 1.00
ML-DSA-44 sign 120139 cycles 119947 cycles 1.00
ML-DSA-44 verify 38112 cycles 38168 cycles 1.00
ML-DSA-65 keypair 61258 cycles 61485 cycles 1.00
ML-DSA-65 sign 202113 cycles 202051 cycles 1.00
ML-DSA-65 verify 62864 cycles 63023 cycles 1.00
ML-DSA-87 keypair 92998 cycles 94631 cycles 0.98
ML-DSA-87 sign 234415 cycles 240408 cycles 0.98
ML-DSA-87 verify 96830 cycles 95522 cycles 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 4th gen (c7i) (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 93845 cycles 93956 cycles 1.00
ML-DSA-44 sign 333376 cycles 333826 cycles 1.00
ML-DSA-44 verify 100016 cycles 100031 cycles 1.00
ML-DSA-65 keypair 160301 cycles 160143 cycles 1.00
ML-DSA-65 sign 546165 cycles 546052 cycles 1.00
ML-DSA-65 verify 160956 cycles 160839 cycles 1.00
ML-DSA-87 keypair 267866 cycles 268094 cycles 1.00
ML-DSA-87 sign 706881 cycles 708926 cycles 1.00
ML-DSA-87 verify 270960 cycles 270979 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 3rd gen (c6a)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 68906 cycles 69020 cycles 1.00
ML-DSA-44 sign 187264 cycles 187462 cycles 1.00
ML-DSA-44 verify 69129 cycles 69310 cycles 1.00
ML-DSA-65 keypair 119427 cycles 118931 cycles 1.00
ML-DSA-65 sign 300597 cycles 299768 cycles 1.00
ML-DSA-65 verify 115292 cycles 115257 cycles 1.00
ML-DSA-87 keypair 203481 cycles 203140 cycles 1.00
ML-DSA-87 sign 394426 cycles 393900 cycles 1.00
ML-DSA-87 verify 195939 cycles 195334 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 3rd gen (c6i)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 56165 cycles 56564 cycles 0.99
ML-DSA-44 sign 181256 cycles 181386 cycles 1.00
ML-DSA-44 verify 61020 cycles 61159 cycles 1.00
ML-DSA-65 keypair 98740 cycles 98635 cycles 1.00
ML-DSA-65 sign 298351 cycles 298647 cycles 1.00
ML-DSA-65 verify 100224 cycles 100272 cycles 1.00
ML-DSA-87 keypair 152574 cycles 152656 cycles 1.00
ML-DSA-87 sign 354583 cycles 355640 cycles 1.00
ML-DSA-87 verify 153621 cycles 153263 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton4

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 68139 cycles 68113 cycles 1.00
ML-DSA-44 sign 201860 cycles 201954 cycles 1.00
ML-DSA-44 verify 70835 cycles 70687 cycles 1.00
ML-DSA-65 keypair 121326 cycles 120957 cycles 1.00
ML-DSA-65 sign 330732 cycles 331109 cycles 1.00
ML-DSA-65 verify 117949 cycles 117896 cycles 1.00
ML-DSA-87 keypair 198097 cycles 198388 cycles 1.00
ML-DSA-87 sign 426510 cycles 426948 cycles 1.00
ML-DSA-87 verify 194636 cycles 194406 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 3rd gen (c6a) (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 134637 cycles 134650 cycles 1.00
ML-DSA-44 sign 523454 cycles 523550 cycles 1.00
ML-DSA-44 verify 147549 cycles 147338 cycles 1.00
ML-DSA-65 keypair 226968 cycles 226661 cycles 1.00
ML-DSA-65 sign 862072 cycles 859834 cycles 1.00
ML-DSA-65 verify 234741 cycles 234580 cycles 1.00
ML-DSA-87 keypair 370921 cycles 371089 cycles 1.00
ML-DSA-87 sign 1079709 cycles 1078271 cycles 1.00
ML-DSA-87 verify 382771 cycles 382923 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 4th gen (c7a)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 42385 cycles 43013 cycles 0.99
ML-DSA-44 sign 137101 cycles 136468 cycles 1.00
ML-DSA-44 verify 44679 cycles 45299 cycles 0.99
ML-DSA-65 keypair 72401 cycles 73344 cycles 0.99
ML-DSA-65 sign 215429 cycles 219987 cycles 0.98
ML-DSA-65 verify 73289 cycles 73335 cycles 1.00
ML-DSA-87 keypair 109243 cycles 108737 cycles 1.00
ML-DSA-87 sign 252203 cycles 254692 cycles 0.99
ML-DSA-87 verify 110302 cycles 110121 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 3rd gen (c6i) (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 157598 cycles 157437 cycles 1.00
ML-DSA-44 sign 549119 cycles 549247 cycles 1.00
ML-DSA-44 verify 169244 cycles 169116 cycles 1.00
ML-DSA-65 keypair 267296 cycles 267550 cycles 1.00
ML-DSA-65 sign 901974 cycles 902990 cycles 1.00
ML-DSA-65 verify 273773 cycles 274202 cycles 1.00
ML-DSA-87 keypair 447699 cycles 448339 cycles 1.00
ML-DSA-87 sign 1156108 cycles 1157553 cycles 1.00
ML-DSA-87 verify 457388 cycles 458280 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton3

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 72299 cycles 72231 cycles 1.00
ML-DSA-44 sign 212045 cycles 211982 cycles 1.00
ML-DSA-44 verify 75673 cycles 75740 cycles 1.00
ML-DSA-65 keypair 127641 cycles 127419 cycles 1.00
ML-DSA-65 sign 350507 cycles 350110 cycles 1.00
ML-DSA-65 verify 125599 cycles 125360 cycles 1.00
ML-DSA-87 keypair 205614 cycles 208145 cycles 0.99
ML-DSA-87 sign 443673 cycles 448895 cycles 0.99
ML-DSA-87 verify 205481 cycles 205078 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton4 (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 128391 cycles 128330 cycles 1.00
ML-DSA-44 sign 447594 cycles 447585 cycles 1.00
ML-DSA-44 verify 138187 cycles 144671 cycles 0.96
ML-DSA-65 keypair 220280 cycles 220146 cycles 1.00
ML-DSA-65 sign 727211 cycles 727285 cycles 1.00
ML-DSA-65 verify 222793 cycles 223031 cycles 1.00
ML-DSA-87 keypair 364803 cycles 365137 cycles 1.00
ML-DSA-87 sign 926143 cycles 926039 cycles 1.00
ML-DSA-87 verify 372871 cycles 372754 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 4th gen (c7a) (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 120287 cycles 120098 cycles 1.00
ML-DSA-44 sign 447788 cycles 447704 cycles 1.00
ML-DSA-44 verify 129975 cycles 130706 cycles 0.99
ML-DSA-65 keypair 204310 cycles 204828 cycles 1.00
ML-DSA-65 sign 728764 cycles 729724 cycles 1.00
ML-DSA-65 verify 209449 cycles 209982 cycles 1.00
ML-DSA-87 keypair 339594 cycles 340142 cycles 1.00
ML-DSA-87 sign 929418 cycles 924541 cycles 1.01
ML-DSA-87 verify 348134 cycles 346514 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton3 (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 138600 cycles 138504 cycles 1.00
ML-DSA-44 sign 484155 cycles 484026 cycles 1.00
ML-DSA-44 verify 148583 cycles 162285 cycles 0.92
ML-DSA-65 keypair 242057 cycles 242175 cycles 1.00
ML-DSA-65 sign 793020 cycles 792665 cycles 1.00
ML-DSA-65 verify 240770 cycles 241185 cycles 1.00
ML-DSA-87 keypair 395449 cycles 396189 cycles 1.00
ML-DSA-87 sign 1012616 cycles 1012336 cycles 1.00
ML-DSA-87 verify 402597 cycles 402476 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton2

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 114002 cycles 113428 cycles 1.01
ML-DSA-44 sign 357227 cycles 356114 cycles 1.00
ML-DSA-44 verify 118536 cycles 118120 cycles 1.00
ML-DSA-65 keypair 197092 cycles 196637 cycles 1.00
ML-DSA-65 sign 589925 cycles 589133 cycles 1.00
ML-DSA-65 verify 195005 cycles 194715 cycles 1.00
ML-DSA-87 keypair 322906 cycles 323469 cycles 1.00
ML-DSA-87 sign 754450 cycles 754154 cycles 1.00
ML-DSA-87 verify 320677 cycles 320388 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SpacemiT K1 8 (Banana Pi F3) benchmarks (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 827806 cycles 827518 cycles 1.00
ML-DSA-44 sign 3234818 cycles 3234423 cycles 1.00
ML-DSA-44 verify 919895 cycles 922722 cycles 1.00
ML-DSA-65 keypair 1412222 cycles 1412682 cycles 1.00
ML-DSA-65 sign 5343221 cycles 5344280 cycles 1.00
ML-DSA-65 verify 1480609 cycles 1481079 cycles 1.00
ML-DSA-87 keypair 2309480 cycles 2313336 cycles 1.00
ML-DSA-87 sign 6670513 cycles 6675881 cycles 1.00
ML-DSA-87 verify 2415092 cycles 2410834 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton2 (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 213009 cycles 212544 cycles 1.00
ML-DSA-44 sign 760247 cycles 760197 cycles 1.00
ML-DSA-44 verify 241232 cycles 234285 cycles 1.03
ML-DSA-65 keypair 381234 cycles 381014 cycles 1.00
ML-DSA-65 sign 1252534 cycles 1253830 cycles 1.00
ML-DSA-65 verify 372385 cycles 371887 cycles 1.00
ML-DSA-87 keypair 606706 cycles 604456 cycles 1.00
ML-DSA-87 sign 1593915 cycles 1594838 cycles 1.00
ML-DSA-87 verify 618324 cycles 618622 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A76 (Raspberry Pi 5) benchmarks (opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 113338 cycles 113275 cycles 1.00
ML-DSA-44 sign 356064 cycles 355720 cycles 1.00
ML-DSA-44 verify 117938 cycles 117875 cycles 1.00
ML-DSA-65 keypair 196590 cycles 196927 cycles 1.00
ML-DSA-65 sign 589336 cycles 589350 cycles 1.00
ML-DSA-65 verify 194560 cycles 194567 cycles 1.00
ML-DSA-87 keypair 322927 cycles 322444 cycles 1.00
ML-DSA-87 sign 752431 cycles 753055 cycles 1.00
ML-DSA-87 verify 320243 cycles 320136 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A76 (Raspberry Pi 5) benchmarks (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 212496 cycles 212850 cycles 1.00
ML-DSA-44 sign 759815 cycles 759693 cycles 1.00
ML-DSA-44 verify 228752 cycles 229125 cycles 1.00
ML-DSA-65 keypair 380486 cycles 380913 cycles 1.00
ML-DSA-65 sign 1252353 cycles 1251822 cycles 1.00
ML-DSA-65 verify 371738 cycles 372243 cycles 1.00
ML-DSA-87 keypair 604799 cycles 605348 cycles 1.00
ML-DSA-87 sign 1593686 cycles 1591512 cycles 1.00
ML-DSA-87 verify 618524 cycles 617441 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A55 (Snapdragon 888) benchmarks (opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 271967 cycles 273286 cycles 1.00
ML-DSA-44 sign 799240 cycles 805838 cycles 0.99
ML-DSA-44 verify 272306 cycles 274023 cycles 0.99
ML-DSA-65 keypair 471345 cycles 466413 cycles 1.01
ML-DSA-65 sign 1328418 cycles 1314102 cycles 1.01
ML-DSA-65 verify 451405 cycles 449976 cycles 1.00
ML-DSA-87 keypair 797252 cycles 808212 cycles 0.99
ML-DSA-87 sign 1792218 cycles 1834487 cycles 0.98
ML-DSA-87 verify 777779 cycles 785193 cycles 0.99

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A55 (Snapdragon 888) benchmarks (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 461301 cycles 462092 cycles 1.00
ML-DSA-44 sign 2135499 cycles 2138327 cycles 1.00
ML-DSA-44 verify 546618 cycles 547203 cycles 1.00
ML-DSA-65 keypair 774946 cycles 775930 cycles 1.00
ML-DSA-65 sign 3506953 cycles 3503014 cycles 1.00
ML-DSA-65 verify 850252 cycles 850500 cycles 1.00
ML-DSA-87 keypair 1255470 cycles 1248382 cycles 1.01
ML-DSA-87 sign 4373502 cycles 4316083 cycles 1.01
ML-DSA-87 verify 1373118 cycles 1364816 cycles 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A72 (Raspberry Pi 4) benchmarks (opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 218209 cycles 228793 cycles 0.95
ML-DSA-44 sign 608227 cycles 633318 cycles 0.96
ML-DSA-44 verify 218043 cycles 237680 cycles 0.92
ML-DSA-65 keypair 393119 cycles 409393 cycles 0.96
ML-DSA-65 sign 1033079 cycles 1063130 cycles 0.97
ML-DSA-65 verify 383079 cycles 385741 cycles 0.99
ML-DSA-87 keypair 646431 cycles 691842 cycles 0.93
ML-DSA-87 sign 1356008 cycles 1405990 cycles 0.96
ML-DSA-87 verify 634284 cycles 664500 cycles 0.95

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A72 (Raspberry Pi 4) benchmarks (no-opt)

Details
Benchmark suite Current: dc8a7a1 Previous: c7302f6 Ratio
ML-DSA-44 keypair 307437 cycles 311906 cycles 0.99
ML-DSA-44 sign 1171527 cycles 1188298 cycles 0.99
ML-DSA-44 verify 334809 cycles 339811 cycles 0.99
ML-DSA-65 keypair 569684 cycles 586034 cycles 0.97
ML-DSA-65 sign 1928440 cycles 1966661 cycles 0.98
ML-DSA-65 verify 537287 cycles 544538 cycles 0.99
ML-DSA-87 keypair 875435 cycles 895456 cycles 0.98
ML-DSA-87 sign 2432561 cycles 2511739 cycles 0.97
ML-DSA-87 verify 885760 cycles 920165 cycles 0.96

This comment was automatically generated by workflow using github-action-benchmark.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants