Skip to content

Conversation

hanno-becker
Copy link
Contributor

No description provided.

@hanno-becker hanno-becker added the benchmark this PR should be benchmarked in CI label Oct 19, 2025
Copy link

@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.

Mac Mini (M1, 2020) benchmarks

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 12294 cycles 12295 cycles 1.00
ML-KEM-512 encaps 14955 cycles 14953 cycles 1.00
ML-KEM-512 decaps 19492 cycles 19501 cycles 1.00
ML-KEM-768 keypair 21348 cycles 21349 cycles 1.00
ML-KEM-768 encaps 23926 cycles 23926 cycles 1
ML-KEM-768 decaps 30493 cycles 30494 cycles 1.00
ML-KEM-1024 keypair 30334 cycles 30335 cycles 1.00
ML-KEM-1024 encaps 34542 cycles 34541 cycles 1.00
ML-KEM-1024 decaps 44144 cycles 44143 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 9608 cycles 9609 cycles 1.00
ML-KEM-512 encaps 11102 cycles 11092 cycles 1.00
ML-KEM-512 decaps 15099 cycles 15103 cycles 1.00
ML-KEM-768 keypair 16452 cycles 16475 cycles 1.00
ML-KEM-768 encaps 17729 cycles 17760 cycles 1.00
ML-KEM-768 decaps 23452 cycles 23429 cycles 1.00
ML-KEM-1024 keypair 22398 cycles 22680 cycles 0.99
ML-KEM-1024 encaps 24198 cycles 24272 cycles 1.00
ML-KEM-1024 decaps 31803 cycles 31841 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 29039 cycles 28930 cycles 1.00
ML-KEM-512 encaps 35125 cycles 35949 cycles 0.98
ML-KEM-512 decaps 44650 cycles 45305 cycles 0.99
ML-KEM-768 keypair 47724 cycles 47999 cycles 0.99
ML-KEM-768 encaps 57585 cycles 57515 cycles 1.00
ML-KEM-768 decaps 69584 cycles 69922 cycles 1.00
ML-KEM-1024 keypair 71535 cycles 71219 cycles 1.00
ML-KEM-1024 encaps 83279 cycles 83197 cycles 1.00
ML-KEM-1024 decaps 100006 cycles 99767 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 11880 cycles 11879 cycles 1.00
ML-KEM-512 encaps 13407 cycles 13439 cycles 1.00
ML-KEM-512 decaps 18322 cycles 18317 cycles 1.00
ML-KEM-768 keypair 20615 cycles 20575 cycles 1.00
ML-KEM-768 encaps 21553 cycles 21509 cycles 1.00
ML-KEM-768 decaps 28757 cycles 28673 cycles 1.00
ML-KEM-1024 keypair 27841 cycles 27959 cycles 1.00
ML-KEM-1024 encaps 29948 cycles 29636 cycles 1.01
ML-KEM-1024 decaps 39233 cycles 39068 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 16874 cycles 16865 cycles 1.00
ML-KEM-512 encaps 18616 cycles 18609 cycles 1.00
ML-KEM-512 decaps 23999 cycles 24001 cycles 1.00
ML-KEM-768 keypair 28655 cycles 28733 cycles 1.00
ML-KEM-768 encaps 29729 cycles 29898 cycles 0.99
ML-KEM-768 decaps 37503 cycles 37704 cycles 0.99
ML-KEM-1024 keypair 41795 cycles 41518 cycles 1.01
ML-KEM-1024 encaps 44116 cycles 43893 cycles 1.01
ML-KEM-1024 decaps 54617 cycles 54381 cycles 1.00

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

Copy link

@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

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 28329 cycles 28306 cycles 1.00
ML-KEM-512 encaps 34067 cycles 34098 cycles 1.00
ML-KEM-512 decaps 44365 cycles 44404 cycles 1.00
ML-KEM-768 keypair 48310 cycles 48265 cycles 1.00
ML-KEM-768 encaps 54231 cycles 54145 cycles 1.00
ML-KEM-768 decaps 68704 cycles 68639 cycles 1.00
ML-KEM-1024 keypair 70414 cycles 70481 cycles 1.00
ML-KEM-1024 encaps 78779 cycles 78889 cycles 1.00
ML-KEM-1024 decaps 98325 cycles 98498 cycles 1.00

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

Copy link

@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

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 17643 cycles 17658 cycles 1.00
ML-KEM-512 encaps 20640 cycles 20644 cycles 1.00
ML-KEM-512 decaps 27080 cycles 27090 cycles 1.00
ML-KEM-768 keypair 30240 cycles 30252 cycles 1.00
ML-KEM-768 encaps 32963 cycles 32955 cycles 1.00
ML-KEM-768 decaps 42203 cycles 42187 cycles 1.00
ML-KEM-1024 keypair 43829 cycles 43858 cycles 1.00
ML-KEM-1024 encaps 48868 cycles 48895 cycles 1.00
ML-KEM-1024 decaps 61600 cycles 61572 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 36506 cycles 36412 cycles 1.00
ML-KEM-512 encaps 42859 cycles 42831 cycles 1.00
ML-KEM-512 decaps 55727 cycles 55720 cycles 1.00
ML-KEM-768 keypair 59582 cycles 59631 cycles 1.00
ML-KEM-768 encaps 67707 cycles 67753 cycles 1.00
ML-KEM-768 decaps 85106 cycles 84867 cycles 1.00
ML-KEM-1024 keypair 87526 cycles 87652 cycles 1.00
ML-KEM-1024 encaps 98621 cycles 98272 cycles 1.00
ML-KEM-1024 decaps 120089 cycles 119773 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 38419 cycles 38505 cycles 1.00
ML-KEM-512 encaps 47456 cycles 47537 cycles 1.00
ML-KEM-512 decaps 60965 cycles 60960 cycles 1.00
ML-KEM-768 keypair 63826 cycles 63913 cycles 1.00
ML-KEM-768 encaps 74848 cycles 74861 cycles 1.00
ML-KEM-768 decaps 92692 cycles 92885 cycles 1.00
ML-KEM-1024 keypair 94363 cycles 94493 cycles 1.00
ML-KEM-1024 encaps 108825 cycles 108789 cycles 1.00
ML-KEM-1024 decaps 131480 cycles 131739 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 16304 cycles 16268 cycles 1.00
ML-KEM-512 encaps 18517 cycles 18556 cycles 1.00
ML-KEM-512 decaps 25111 cycles 25030 cycles 1.00
ML-KEM-768 keypair 28767 cycles 29162 cycles 0.99
ML-KEM-768 encaps 31985 cycles 30470 cycles 1.05
ML-KEM-768 decaps 39291 cycles 39360 cycles 1.00
ML-KEM-1024 keypair 37747 cycles 37574 cycles 1.00
ML-KEM-1024 encaps 40402 cycles 40171 cycles 1.01
ML-KEM-1024 decaps 54081 cycles 53863 cycles 1.00

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

Copy link

@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.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Intel Xeon 3rd gen (c6i)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-768 encaps 31985 cycles 30470 cycles 1.05

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 35366 cycles 35402 cycles 1.00
ML-KEM-512 encaps 40743 cycles 40806 cycles 1.00
ML-KEM-512 decaps 51520 cycles 51533 cycles 1.00
ML-KEM-768 keypair 59444 cycles 58804 cycles 1.01
ML-KEM-768 encaps 65517 cycles 66166 cycles 0.99
ML-KEM-768 decaps 80078 cycles 80061 cycles 1.00
ML-KEM-1024 keypair 87781 cycles 87785 cycles 1.00
ML-KEM-1024 encaps 97082 cycles 97069 cycles 1.00
ML-KEM-1024 decaps 116259 cycles 116310 cycles 1.00

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

Copy link

@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

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 18683 cycles 18683 cycles 1
ML-KEM-512 encaps 22031 cycles 22000 cycles 1.00
ML-KEM-512 decaps 28990 cycles 29006 cycles 1.00
ML-KEM-768 keypair 31918 cycles 31932 cycles 1.00
ML-KEM-768 encaps 35012 cycles 34980 cycles 1.00
ML-KEM-768 decaps 45070 cycles 45049 cycles 1.00
ML-KEM-1024 keypair 46306 cycles 46313 cycles 1.00
ML-KEM-1024 encaps 51602 cycles 51641 cycles 1.00
ML-KEM-1024 decaps 65198 cycles 65214 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 59282 cycles 59398 cycles 1.00
ML-KEM-512 encaps 68822 cycles 68910 cycles 1.00
ML-KEM-512 decaps 87564 cycles 87493 cycles 1.00
ML-KEM-768 keypair 99552 cycles 99171 cycles 1.00
ML-KEM-768 encaps 111246 cycles 111365 cycles 1.00
ML-KEM-768 decaps 135889 cycles 136304 cycles 1.00
ML-KEM-1024 keypair 148740 cycles 148930 cycles 1.00
ML-KEM-1024 encaps 164679 cycles 164465 cycles 1.00
ML-KEM-1024 decaps 195897 cycles 195927 cycles 1.00

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 46172 cycles 46150 cycles 1.00
ML-KEM-512 encaps 54791 cycles 54831 cycles 1.00
ML-KEM-512 decaps 70016 cycles 69981 cycles 1.00
ML-KEM-768 keypair 76258 cycles 75991 cycles 1.00
ML-KEM-768 encaps 86841 cycles 86935 cycles 1.00
ML-KEM-768 decaps 106633 cycles 106758 cycles 1.00
ML-KEM-1024 keypair 110572 cycles 110517 cycles 1.00
ML-KEM-1024 encaps 124881 cycles 124882 cycles 1.00
ML-KEM-1024 decaps 150179 cycles 150109 cycles 1.00

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

Copy link

@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.

Arm Cortex-A55 (Snapdragon 888) benchmarks

Benchmark suite Current: c6deef6 Previous: aed837f Ratio
ML-KEM-512 keypair 59714 cycles 59670 cycles 1.00
ML-KEM-512 encaps 67113 cycles 66986 cycles 1.00
ML-KEM-512 decaps 85812 cycles 85603 cycles 1.00
ML-KEM-768 keypair 101837 cycles 101700 cycles 1.00
ML-KEM-768 encaps 113179 cycles 112911 cycles 1.00
ML-KEM-768 decaps 140237 cycles 139833 cycles 1.00
ML-KEM-1024 keypair 155036 cycles 154903 cycles 1.00
ML-KEM-1024 encaps 173157 cycles 171942 cycles 1.01
ML-KEM-1024 decaps 208966 cycles 207886 cycles 1.01

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

Copy link

@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)

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 38754 cycles 38795 cycles 1.00
ML-KEM-512 encaps 44862 cycles 44928 cycles 1.00
ML-KEM-512 decaps 56654 cycles 56672 cycles 1.00
ML-KEM-768 keypair 65569 cycles 64175 cycles 1.02
ML-KEM-768 encaps 72029 cycles 72738 cycles 0.99
ML-KEM-768 decaps 88063 cycles 87957 cycles 1.00
ML-KEM-1024 keypair 95684 cycles 95668 cycles 1.00
ML-KEM-1024 encaps 106255 cycles 106273 cycles 1.00
ML-KEM-1024 decaps 126686 cycles 126846 cycles 1.00

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

Copy link

@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.

Arm Cortex-A76 (Raspberry Pi 5) benchmarks

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 28344 cycles 28332 cycles 1.00
ML-KEM-512 encaps 34130 cycles 34037 cycles 1.00
ML-KEM-512 decaps 44406 cycles 44301 cycles 1.00
ML-KEM-768 keypair 48258 cycles 48259 cycles 1.00
ML-KEM-768 encaps 54179 cycles 54210 cycles 1.00
ML-KEM-768 decaps 68673 cycles 68671 cycles 1.00
ML-KEM-1024 keypair 70459 cycles 70526 cycles 1.00
ML-KEM-1024 encaps 78813 cycles 78796 cycles 1.00
ML-KEM-1024 decaps 98407 cycles 98349 cycles 1.00

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

Copy link

@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.

Arm Cortex-A72 (Raspberry Pi 4) benchmarks

Benchmark suite Current: c6deef6 Previous: aed837f Ratio
ML-KEM-512 keypair 50674 cycles 51675 cycles 0.98
ML-KEM-512 encaps 58503 cycles 59769 cycles 0.98
ML-KEM-512 decaps 74773 cycles 77588 cycles 0.96
ML-KEM-768 keypair 88114 cycles 86961 cycles 1.01
ML-KEM-768 encaps 96240 cycles 95746 cycles 1.01
ML-KEM-768 decaps 119065 cycles 117869 cycles 1.01
ML-KEM-1024 keypair 130720 cycles 130230 cycles 1.00
ML-KEM-1024 encaps 143144 cycles 142319 cycles 1.01
ML-KEM-1024 decaps 174406 cycles 173553 cycles 1.00

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

Copy link

@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.

SpacemiT K1 8 (Banana Pi F3) benchmarks

Benchmark suite Current: c6deef6 Previous: 6048cab Ratio
ML-KEM-512 keypair 155241 cycles 155240 cycles 1.00
ML-KEM-512 encaps 163111 cycles 163110 cycles 1.00
ML-KEM-512 decaps 206363 cycles 206370 cycles 1.00
ML-KEM-768 keypair 260847 cycles 260968 cycles 1.00
ML-KEM-768 encaps 275420 cycles 275538 cycles 1.00
ML-KEM-768 decaps 337680 cycles 337761 cycles 1.00
ML-KEM-1024 keypair 395131 cycles 395152 cycles 1.00
ML-KEM-1024 encaps 422211 cycles 422201 cycles 1.00
ML-KEM-1024 decaps 506094 cycles 506020 cycles 1.00

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

@hanno-becker hanno-becker marked this pull request as ready for review October 19, 2025 19:11
@hanno-becker hanno-becker requested a review from a team as a code owner October 19, 2025 19:11
This commit introduces helper functions mlk_cast_int32_to_uint16 and
mlk_cast_int16_to_uint16 for casting int32_t/int16_t to uint16_t.

This cleans up prior code and also removes the need for some pragmas
stopping CBMC from flagging value-changing integer conversions.

We also rewrite mlk_ct_cmask_nonzero_u8 and mlk_ct_cmask_nonzero_u16
to no longer involve unsigned overflow, which previously also required
silencing CBMC through a pragma.

Signed-off-by: Hanno Becker <[email protected]>
@mkannwischer mkannwischer merged commit 745d8a1 into main Oct 20, 2025
575 of 579 checks passed
@mkannwischer mkannwischer deleted the conversions_again branch October 20, 2025 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

benchmark this PR should be benchmarked in CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants