Skip to content

CI: Re-enable benchmarking on Mac Mini/RPi4/A55/BPi#1641

Merged
mkannwischer merged 1 commit intomainfrom
reenable-bench
Apr 12, 2026
Merged

CI: Re-enable benchmarking on Mac Mini/RPi4/A55/BPi#1641
mkannwischer merged 1 commit intomainfrom
reenable-bench

Conversation

@mkannwischer
Copy link
Copy Markdown
Contributor

@mkannwischer mkannwischer commented Mar 28, 2026

Our benchmarking boxes are back online. This renables benchmarking in CI.

One thing to note is this change: We used to have two runners - the RPi4 and RPi5. Both could run benchmarks locally and also execute benchmarks remotely on the A55 and BPi. Now only the RPi4 can connect to the A55 and BPi, so we can no longer run those in parallel.

@mkannwischer mkannwischer added the benchmark this PR should be benchmarked in CI label Mar 28, 2026
Copy link
Copy Markdown
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.

Mac Mini (M1, 2020) benchmarks

Details
Benchmark suite Current: ae9162e Previous: 81a5e72 Ratio
ML-KEM-512 keypair 12319 cycles 12319 cycles 1
ML-KEM-512 encaps 14999 cycles 14999 cycles 1
ML-KEM-512 decaps 19552 cycles 19552 cycles 1
ML-KEM-768 keypair 21266 cycles 21083 cycles 1.01
ML-KEM-768 encaps 23873 cycles 23871 cycles 1.00
ML-KEM-768 decaps 30417 cycles 30414 cycles 1.00
ML-KEM-1024 keypair 30329 cycles 30329 cycles 1
ML-KEM-1024 encaps 34573 cycles 34577 cycles 1.00
ML-KEM-1024 decaps 44190 cycles 44184 cycles 1.00

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

Copy link
Copy Markdown
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.

ppc64le (POWER10) benchmarks

Details
Benchmark suite Current: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 59868 cycles 59900 cycles 1.00
ML-KEM-512 encaps 72806 cycles 72669 cycles 1.00
ML-KEM-512 decaps 93080 cycles 92737 cycles 1.00
ML-KEM-768 keypair 99886 cycles 100517 cycles 0.99
ML-KEM-768 encaps 116411 cycles 117320 cycles 0.99
ML-KEM-768 decaps 142507 cycles 143329 cycles 0.99
ML-KEM-1024 keypair 151436 cycles 152695 cycles 0.99
ML-KEM-1024 encaps 170338 cycles 171817 cycles 0.99
ML-KEM-1024 decaps 203058 cycles 203925 cycles 1.00

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

Copy link
Copy Markdown
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.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'ppc64le (POWER10) benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.

Benchmark suite Current: d1f8a2b Previous: ddbc21d Ratio
ML-KEM-1024 keypair 153341 cycles 148293 cycles 1.03
ML-KEM-1024 decaps 204407 cycles 198126 cycles 1.03

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 14239 cycles 14380 cycles 0.99
ML-KEM-512 encaps 16033 cycles 16061 cycles 1.00
ML-KEM-512 decaps 21516 cycles 21569 cycles 1.00
ML-KEM-768 keypair 25215 cycles 24790 cycles 1.02
ML-KEM-768 encaps 25743 cycles 25549 cycles 1.01
ML-KEM-768 decaps 33548 cycles 33362 cycles 1.01
ML-KEM-1024 keypair 37506 cycles 37273 cycles 1.01
ML-KEM-1024 encaps 36160 cycles 37239 cycles 0.97
ML-KEM-1024 decaps 47430 cycles 46827 cycles 1.01

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

Copy link
Copy Markdown
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.

⚠️ 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: d1f8a2b Previous: ddbc21d Ratio
ML-KEM-768 keypair 25523 cycles 24757 cycles 1.03

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 12873 cycles 12760 cycles 1.01
ML-KEM-512 encaps 14269 cycles 14242 cycles 1.00
ML-KEM-512 decaps 19138 cycles 19119 cycles 1.00
ML-KEM-768 keypair 22512 cycles 22416 cycles 1.00
ML-KEM-768 encaps 23051 cycles 23106 cycles 1.00
ML-KEM-768 decaps 30057 cycles 30082 cycles 1.00
ML-KEM-1024 keypair 34269 cycles 33049 cycles 1.04
ML-KEM-1024 encaps 33042 cycles 33012 cycles 1.00
ML-KEM-1024 decaps 42443 cycles 42417 cycles 1.00

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

Copy link
Copy Markdown
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.

⚠️ 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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-1024 keypair 34269 cycles 33049 cycles 1.04

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 17678 cycles 17648 cycles 1.00
ML-KEM-512 encaps 20596 cycles 20598 cycles 1.00
ML-KEM-512 decaps 27062 cycles 27062 cycles 1
ML-KEM-768 keypair 29923 cycles 29899 cycles 1.00
ML-KEM-768 encaps 32725 cycles 32770 cycles 1.00
ML-KEM-768 decaps 41983 cycles 41963 cycles 1.00
ML-KEM-1024 keypair 43721 cycles 43739 cycles 1.00
ML-KEM-1024 encaps 48773 cycles 48648 cycles 1.00
ML-KEM-1024 decaps 61383 cycles 61385 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 17586 cycles 17533 cycles 1.00
ML-KEM-512 encaps 19855 cycles 19866 cycles 1.00
ML-KEM-512 decaps 26392 cycles 26401 cycles 1.00
ML-KEM-768 keypair 32478 cycles 32496 cycles 1.00
ML-KEM-768 encaps 31063 cycles 31064 cycles 1.00
ML-KEM-768 decaps 41529 cycles 41498 cycles 1.00
ML-KEM-1024 keypair 44381 cycles 43981 cycles 1.01
ML-KEM-1024 encaps 45691 cycles 46953 cycles 0.97
ML-KEM-1024 decaps 58110 cycles 58232 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 40217 cycles 40259 cycles 1.00
ML-KEM-512 encaps 48343 cycles 48421 cycles 1.00
ML-KEM-512 decaps 62487 cycles 62612 cycles 1.00
ML-KEM-768 keypair 64571 cycles 63737 cycles 1.01
ML-KEM-768 encaps 74921 cycles 74943 cycles 1.00
ML-KEM-768 decaps 93427 cycles 93583 cycles 1.00
ML-KEM-1024 keypair 95273 cycles 95240 cycles 1.00
ML-KEM-1024 encaps 109366 cycles 109391 cycles 1.00
ML-KEM-1024 decaps 132099 cycles 132163 cycles 1.00

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

Copy link
Copy Markdown
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.

Arm Cortex-A76 (Raspberry Pi 5) benchmarks

Details
Benchmark suite Current: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 28283 cycles 28250 cycles 1.00
ML-KEM-512 encaps 34105 cycles 34099 cycles 1.00
ML-KEM-512 decaps 44373 cycles 44327 cycles 1.00
ML-KEM-768 keypair 47685 cycles 47614 cycles 1.00
ML-KEM-768 encaps 53903 cycles 53937 cycles 1.00
ML-KEM-768 decaps 68354 cycles 68362 cycles 1.00
ML-KEM-1024 keypair 70279 cycles 70211 cycles 1.00
ML-KEM-1024 encaps 78694 cycles 78756 cycles 1.00
ML-KEM-1024 decaps 98456 cycles 98438 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 36614 cycles 36602 cycles 1.00
ML-KEM-512 encaps 43136 cycles 43061 cycles 1.00
ML-KEM-512 decaps 55724 cycles 55697 cycles 1.00
ML-KEM-768 keypair 58661 cycles 58658 cycles 1.00
ML-KEM-768 encaps 67583 cycles 67501 cycles 1.00
ML-KEM-768 decaps 84592 cycles 84426 cycles 1.00
ML-KEM-1024 keypair 89042 cycles 88986 cycles 1.00
ML-KEM-1024 encaps 99195 cycles 99235 cycles 1.00
ML-KEM-1024 decaps 120638 cycles 120547 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 35448 cycles 35410 cycles 1.00
ML-KEM-512 encaps 40092 cycles 40115 cycles 1.00
ML-KEM-512 decaps 51097 cycles 51137 cycles 1.00
ML-KEM-768 keypair 56742 cycles 56672 cycles 1.00
ML-KEM-768 encaps 64537 cycles 65151 cycles 0.99
ML-KEM-768 decaps 79370 cycles 79301 cycles 1.00
ML-KEM-1024 keypair 87844 cycles 87869 cycles 1.00
ML-KEM-1024 encaps 97111 cycles 96878 cycles 1.00
ML-KEM-1024 decaps 115947 cycles 115828 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 18659 cycles 18637 cycles 1.00
ML-KEM-512 encaps 21882 cycles 21873 cycles 1.00
ML-KEM-512 decaps 28878 cycles 28862 cycles 1.00
ML-KEM-768 keypair 31587 cycles 31539 cycles 1.00
ML-KEM-768 encaps 34742 cycles 34775 cycles 1.00
ML-KEM-768 decaps 44810 cycles 44775 cycles 1.00
ML-KEM-1024 keypair 46073 cycles 46080 cycles 1.00
ML-KEM-1024 encaps 51509 cycles 51496 cycles 1.00
ML-KEM-1024 decaps 65017 cycles 65027 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 45688 cycles 45672 cycles 1.00
ML-KEM-512 encaps 54399 cycles 54295 cycles 1.00
ML-KEM-512 decaps 69751 cycles 69725 cycles 1.00
ML-KEM-768 keypair 74146 cycles 74093 cycles 1.00
ML-KEM-768 encaps 86019 cycles 85991 cycles 1.00
ML-KEM-768 decaps 106602 cycles 106591 cycles 1.00
ML-KEM-1024 keypair 112182 cycles 112084 cycles 1.00
ML-KEM-1024 encaps 124671 cycles 124581 cycles 1.00
ML-KEM-1024 decaps 150632 cycles 150599 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 38937 cycles 38894 cycles 1.00
ML-KEM-512 encaps 44534 cycles 44595 cycles 1.00
ML-KEM-512 decaps 56597 cycles 56669 cycles 1.00
ML-KEM-768 keypair 62332 cycles 62297 cycles 1.00
ML-KEM-768 encaps 71054 cycles 72327 cycles 0.98
ML-KEM-768 decaps 87337 cycles 87697 cycles 1.00
ML-KEM-1024 keypair 96219 cycles 96159 cycles 1.00
ML-KEM-1024 encaps 106365 cycles 106138 cycles 1.00
ML-KEM-1024 decaps 126801 cycles 126578 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 28248 cycles 28255 cycles 1.00
ML-KEM-512 encaps 34179 cycles 34110 cycles 1.00
ML-KEM-512 decaps 44384 cycles 44390 cycles 1.00
ML-KEM-768 keypair 47717 cycles 47671 cycles 1.00
ML-KEM-768 encaps 54081 cycles 53906 cycles 1.00
ML-KEM-768 decaps 68558 cycles 68361 cycles 1.00
ML-KEM-1024 keypair 70346 cycles 70281 cycles 1.00
ML-KEM-1024 encaps 78742 cycles 78718 cycles 1.00
ML-KEM-1024 decaps 98529 cycles 98476 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 59189 cycles 59129 cycles 1.00
ML-KEM-512 encaps 68622 cycles 68640 cycles 1.00
ML-KEM-512 decaps 87356 cycles 87347 cycles 1.00
ML-KEM-768 keypair 95479 cycles 95010 cycles 1.00
ML-KEM-768 encaps 110402 cycles 109687 cycles 1.01
ML-KEM-768 decaps 134636 cycles 134169 cycles 1.00
ML-KEM-1024 keypair 148046 cycles 147998 cycles 1.00
ML-KEM-1024 encaps 163740 cycles 163866 cycles 1.00
ML-KEM-1024 decaps 195486 cycles 195539 cycles 1.00

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

Copy link
Copy Markdown
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.

Arm Cortex-A55 (Snapdragon 888) benchmarks

Details
Benchmark suite Current: ae9162e Previous: 81a5e72 Ratio
ML-KEM-512 keypair 59731 cycles 59707 cycles 1.00
ML-KEM-512 encaps 67471 cycles 67375 cycles 1.00
ML-KEM-512 decaps 86058 cycles 86040 cycles 1.00
ML-KEM-768 keypair 97394 cycles 97411 cycles 1.00
ML-KEM-768 encaps 110836 cycles 110976 cycles 1.00
ML-KEM-768 decaps 137705 cycles 138041 cycles 1.00
ML-KEM-1024 keypair 154757 cycles 154703 cycles 1.00
ML-KEM-1024 encaps 171629 cycles 171727 cycles 1.00
ML-KEM-1024 decaps 207366 cycles 208007 cycles 1.00

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

@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented Mar 28, 2026

CBMC Results (ML-KEM-512)

⚠️ Attention Required

Proof Status Current Previous Change
poly_ntt_native ⚠️ 44s 25s +76%
Full Results (190 proofs)
Proof Status Current Previous Change
**TOTAL** 1218s 1068s +14.0%
mlk_indcpa_keypair_derand 164s 131s +25%
mlk_indcpa_enc 146s 133s +10%
mlk_rej_uniform_c 89s 66s +35%
mlk_polyvec_basemul_acc_montgomery_cached_c 67s 61s +10%
poly_ntt_native ⚠️ 44s 25s +76%
mlk_poly_rej_uniform 39s 34s +15%
mlk_keccak_squeezeblocks_x4 25s 24s +4%
polyvec_basemul_acc_montgomery_cached_native 22s 21s +5%
keccakf1600x4_permute_native_x4 18s 21s -14%
mlk_poly_reduce_native 16s 15s +7%
mlk_polyvec_add 15s 14s +7%
mlk_ntt_layer 14s 11s +27%
mlk_poly_decompress_d10_native 14s 12s +17%
mlk_poly_decompress_d4_native 13s 12s +8%
mlk_indcpa_dec 12s 9s +33%
mlk_keccak_absorb_once_x4 10s 8s +25%
mlk_poly_frommsg 10s 11s -9%
mlk_polymat_permute_bitrev_to_custom 10s 7s +43%
mlk_ntt_butterfly_block 9s 7s +29%
mlk_poly_frombytes_native 8s 7s +14%
mlk_keccak_squeeze_once 7s 5s +40%
mlk_poly_rej_uniform_x4 7s 6s +17%
rej_uniform_native_aarch64 7s 3s +133%
mlk_fqmul 6s 7s -14%
mlk_poly_mulcache_compute_c 6s 4s +50%
poly_decompress_d10_native_x86_64 6s 4s +50%
kem_dec 5s 5s +0%
mlk_ct_cmask_nonzero_u8 5s 2s +150%
mlk_keccak_squeezeblocks 5s 6s -17%
mlk_keccakf1600x4_extract_bytes 5s 6s -17%
mlk_poly_cbd_eta1 5s 1s +400%
mlk_polyvec_tobytes 5s 2s +150%
mlk_shake128x4_squeezeblocks 5s 3s +67%
mlk_shake256x4 5s 4s +25%
poly_compress_d10_native_x86_64 5s 4s +25%
poly_decompress_d4_native_x86_64 5s 4s +25%
poly_frombytes_native_x86_64 5s 6s -17%
polyvec_basemul_acc_montgomery_cached_k2_native_x86_64 5s 3s +67%
intt_native_x86_64 4s 2s +100%
kem_check_pk 4s 6s -33%
kem_enc_derand 4s 2s +100%
mlk_ct_sel_uint8 4s 2s +100%
mlk_invntt_layer 4s 6s -33%
mlk_keccak_absorb_once 4s 4s +0%
mlk_poly_add 4s 5s -20%
mlk_poly_cbd_eta2 4s 4s +0%
mlk_poly_compress_d11_native 4s 3s +33%
mlk_poly_compress_d4 4s 2s +100%
mlk_poly_compress_d5 4s 2s +100%
mlk_poly_decompress_d10_c 4s 5s -20%
mlk_poly_decompress_dv 4s 2s +100%
mlk_poly_getnoise_eta1122_4x 4s 3s +33%
mlk_poly_mulcache_compute_native 4s 2s +100%
mlk_poly_reduce 4s 2s +100%
mlk_poly_tomsg 4s 3s +33%
mlk_polyvec_permute_bitrev_to_custom 4s 2s +100%
mlk_polyvec_reduce 4s 3s +33%
mlk_scalar_compress_d5 4s 1s +300%
mlk_scalar_decompress_d11 4s 2s +100%
mlk_scalar_decompress_d4 4s 2s +100%
nttunpack_native_x86_64 4s 1s +300%
poly_reduce_native_aarch64 4s 2s +100%
poly_tomont_native_x86_64 4s 1s +300%
rej_uniform_native 4s 3s +33%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid 3s 1s +200%
keccak_f1600_x4_native_avx2 3s 1s +200%
keccakf1600_permute_native 3s 2s +50%
keccakf1600x4_xor_bytes_native 3s 2s +50%
mlk_check_pct 3s 5s -40%
mlk_ct_cmask_neg_i16 3s 3s +0%
mlk_ct_cmask_nonzero_u16 3s 2s +50%
mlk_ct_get_optblocker_i32 3s 2s +50%
mlk_ct_memcmp 3s 1s +200%
mlk_ct_sel_int16 3s 4s -25%
mlk_keypair_getnoise_eta1 3s 3s +0%
mlk_poly_compress_d10_c 3s 2s +50%
mlk_poly_compress_d5_c 3s 1s +200%
mlk_poly_compress_dv 3s 3s +0%
mlk_poly_decompress_d10 3s 1s +200%
mlk_poly_decompress_d11_native 3s 4s -25%
mlk_poly_decompress_d4_c 3s 2s +50%
mlk_poly_decompress_d5_c 3s 2s +50%
mlk_poly_frombytes 3s 3s +0%
mlk_poly_frombytes_c 3s 4s -25%
mlk_poly_getnoise_eta1_4x_native 3s 3s +0%
mlk_poly_invntt_tomont_c 3s 2s +50%
mlk_poly_ntt_c 3s 3s +0%
mlk_poly_tobytes_c 3s 2s +50%
mlk_poly_tomont 3s 3s +0%
mlk_poly_tomont_c 3s 1s +200%
mlk_polyvec_decompress_du 3s 3s +0%
mlk_polyvec_permute_bitrev_to_custom_native 3s 3s +0%
mlk_scalar_decompress_d5 3s 1s +200%
mlk_scalar_signed_to_unsigned_q 3s 3s +0%
mlk_sha3_512 3s 2s +50%
mlk_shake128_absorb_once 3s 1s +200%
mlk_shake128x4_absorb_once 3s 1s +200%
mlk_value_barrier_i32 3s 1s +200%
ntt_native_aarch64 3s 2s +50%
ntt_native_x86_64 3s 2s +50%
poly_compress_d11_native_x86_64 3s 2s +50%
poly_compress_d4_native_x86_64 3s 2s +50%
poly_decompress_d11_native_x86_64 3s 3s +0%
poly_getnoise_eta1122_4x_native 3s 4s -25%
poly_tobytes_native_aarch64 3s 1s +200%
poly_tomont_native_aarch64 3s 1s +200%
polyvec_basemul_acc_montgomery_cached_k3_native_x86_64 3s 1s +200%
keccak_f1600_x1_native_aarch64 2s 3s -33%
keccak_f1600_x1_native_aarch64_v84a 2s 2s +0%
keccak_f1600_x4_native_aarch64_v84a 2s 1s +100%
keccakf1600x4_extract_bytes_native 2s 1s +100%
kem_check_sk 2s 3s -33%
kem_enc 2s 2s +0%
kem_keypair 2s 3s -33%
kem_keypair_derand 2s 6s -67%
mlk_barrett_reduce 2s 3s -33%
mlk_ct_cmov_zero 2s 2s +0%
mlk_gen_matrix_serial 2s 2s +0%
mlk_keccakf1600_extract_bytes 2s 2s +0%
mlk_keccakf1600_permute 2s 4s -50%
mlk_keccakf1600_permute_c 2s 5s -60%
mlk_keccakf1600_xor_bytes (big endian) 2s 1s +100%
mlk_keccakf1600x4_extract_bytes_c 2s 2s +0%
mlk_keccakf1600x4_xor_bytes 2s 1s +100%
mlk_matvec_mul 2s 2s +0%
mlk_montgomery_reduce 2s 1s +100%
mlk_poly_compress_d10 2s 3s -33%
mlk_poly_compress_d10_native 2s 2s +0%
mlk_poly_compress_d11 2s 1s +100%
mlk_poly_compress_d11_c 2s 3s -33%
mlk_poly_compress_d4_c 2s 1s +100%
mlk_poly_compress_d4_native 2s 2s +0%
mlk_poly_compress_d5_native 2s 2s +0%
mlk_poly_decompress_d11_c 2s 4s -50%
mlk_poly_getnoise_eta1_4x 2s 4s -50%
mlk_poly_getnoise_eta2 2s 1s +100%
mlk_poly_invntt_tomont 2s 2s +0%
mlk_poly_mulcache_compute 2s 2s +0%
mlk_poly_ntt 2s 3s -33%
mlk_poly_sub 2s 2s +0%
mlk_poly_tobytes 2s 4s -50%
mlk_poly_tomont_native 2s 2s +0%
mlk_polyvec_basemul_acc_montgomery_cached 2s 2s +0%
mlk_polyvec_invntt_tomont 2s 2s +0%
mlk_polyvec_mulcache_compute 2s 2s +0%
mlk_polyvec_ntt 2s 3s -33%
mlk_polyvec_tomont 2s 1s +100%
mlk_scalar_compress_d1 2s 4s -50%
mlk_scalar_compress_d11 2s 2s +0%
mlk_scalar_compress_d4 2s 1s +100%
mlk_scalar_decompress_d10 2s 2s +0%
mlk_sha3_256 2s 2s +0%
mlk_shake256 2s 2s +0%
mlk_value_barrier_u32 2s 1s +100%
mlk_value_barrier_u8 2s 3s -33%
poly_compress_d5_native_x86_64 2s 2s +0%
poly_decompress_d5_native_x86_64 2s 2s +0%
poly_invntt_tomont_native 2s 1s +100%
poly_mulcache_compute_native_aarch64 2s 3s -33%
poly_reduce_native_x86_64 2s 2s +0%
polyvec_basemul_acc_montgomery_cached_k2_native_aarch64 2s 2s +0%
polyvec_basemul_acc_montgomery_cached_k3_native_aarch64 2s 3s -33%
polyvec_basemul_acc_montgomery_cached_k4_native_x86_64 2s 2s +0%
rej_uniform_native_x86_64 2s 3s -33%
sys_check_capability 2s 4s -50%
intt_native_aarch64 1s 3s -67%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid 1s 1s +0%
mlk_ct_get_optblocker_u32 1s 1s +0%
mlk_ct_get_optblocker_u8 1s 2s -50%
mlk_gen_matrix 1s 5s -80%
mlk_keccakf1600_extract_bytes (big endian) 1s 3s -67%
mlk_keccakf1600_xor_bytes 1s 3s -67%
mlk_keccakf1600x4_permute 1s 1s +0%
mlk_keccakf1600x4_xor_bytes_c 1s 2s -50%
mlk_poly_compress_du 1s 3s -67%
mlk_poly_decompress_d11 1s 2s -50%
mlk_poly_decompress_d4 1s 4s -75%
mlk_poly_decompress_d5 1s 4s -75%
mlk_poly_decompress_d5_native 1s 2s -50%
mlk_poly_decompress_du 1s 3s -67%
mlk_poly_reduce_c 1s 2s -50%
mlk_poly_tobytes_native 1s 3s -67%
mlk_polyvec_compress_du 1s 4s -75%
mlk_polyvec_frombytes 1s 2s -50%
mlk_rej_uniform 1s 2s -50%
mlk_scalar_compress_d10 1s 3s -67%
mlk_shake128_squeezeblocks 1s 1s +0%
poly_mulcache_compute_native_x86_64 1s 4s -75%
poly_tobytes_native_x86_64 1s 1s +0%
polyvec_basemul_acc_montgomery_cached_k4_native_aarch64 1s 1s +0%

@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented Mar 28, 2026

CBMC Results (ML-KEM-768)

Full Results (190 proofs)
Proof Status Current Previous Change
**TOTAL** 1330s 1325s +0.4%
mlk_indcpa_enc 243s 258s -6%
mlk_indcpa_keypair_derand 207s 209s -1%
mlk_rej_uniform_c 70s 69s +1%
polyvec_basemul_acc_montgomery_cached_native 57s 64s -11%
mlk_polyvec_basemul_acc_montgomery_cached_c 48s 47s +2%
mlk_poly_rej_uniform 35s 31s +13%
mlk_polyvec_add 27s 27s +0%
poly_ntt_native 27s 23s +17%
mlk_keccak_squeezeblocks_x4 24s 27s -11%
keccakf1600x4_permute_native_x4 20s 20s +0%
mlk_poly_reduce_native 13s 14s -7%
mlk_ntt_layer 12s 12s +0%
mlk_poly_frommsg 12s 10s +20%
mlk_indcpa_dec 11s 14s -21%
mlk_poly_decompress_d10_native 11s 11s +0%
mlk_poly_decompress_d4_native 11s 12s -8%
mlk_keccak_absorb_once_x4 10s 10s +0%
mlk_poly_frombytes_native 9s 7s +29%
mlk_keccak_squeeze_once 8s 6s +33%
mlk_poly_rej_uniform_x4 8s 7s +14%
kem_dec 7s 5s +40%
mlk_keccak_squeezeblocks 7s 6s +17%
mlk_fqmul 6s 8s -25%
mlk_ntt_butterfly_block 6s 7s -14%
mlk_poly_cbd_eta1 6s 2s +200%
mlk_polymat_permute_bitrev_to_custom 6s 6s +0%
keccakf1600x4_extract_bytes_native 5s 3s +67%
mlk_invntt_layer 5s 5s +0%
mlk_keccakf1600_permute_c 5s 6s -17%
mlk_poly_add 5s 6s -17%
mlk_scalar_compress_d10 5s 3s +67%
mlk_scalar_decompress_d10 5s 3s +67%
poly_compress_d5_native_x86_64 5s 6s -17%
poly_decompress_d10_native_x86_64 5s 8s -38%
poly_frombytes_native_x86_64 5s 4s +25%
polyvec_basemul_acc_montgomery_cached_k2_native_x86_64 5s 4s +25%
polyvec_basemul_acc_montgomery_cached_k3_native_x86_64 5s 2s +150%
rej_uniform_native_x86_64 5s 3s +67%
kem_check_pk 4s 3s +33%
mlk_ct_memcmp 4s 3s +33%
mlk_ct_sel_uint8 4s 2s +100%
mlk_gen_matrix 4s 5s -20%
mlk_keccak_absorb_once 4s 4s +0%
mlk_poly_compress_d11 4s 2s +100%
mlk_poly_compress_d4 4s 3s +33%
mlk_poly_compress_d5 4s 2s +100%
mlk_poly_compress_d5_native 4s 2s +100%
mlk_poly_getnoise_eta1_4x_native 4s 2s +100%
mlk_poly_invntt_tomont 4s 2s +100%
mlk_poly_mulcache_compute_c 4s 4s +0%
mlk_shake256x4 4s 3s +33%
mlk_value_barrier_u32 4s 2s +100%
mlk_value_barrier_u8 4s 1s +300%
poly_compress_d11_native_x86_64 4s 3s +33%
poly_decompress_d4_native_x86_64 4s 5s -20%
poly_mulcache_compute_native_x86_64 4s 3s +33%
poly_tomont_native_x86_64 4s 3s +33%
polyvec_basemul_acc_montgomery_cached_k3_native_aarch64 4s 2s +100%
polyvec_basemul_acc_montgomery_cached_k4_native_aarch64 4s 3s +33%
polyvec_basemul_acc_montgomery_cached_k4_native_x86_64 4s 2s +100%
keccak_f1600_x1_native_aarch64_v84a 3s 1s +200%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid 3s 1s +200%
keccak_f1600_x4_native_avx2 3s 4s -25%
keccakf1600_permute_native 3s 2s +50%
mlk_check_pct 3s 2s +50%
mlk_ct_cmask_nonzero_u16 3s 2s +50%
mlk_gen_matrix_serial 3s 3s +0%
mlk_keccakf1600_extract_bytes 3s 2s +50%
mlk_keccakf1600_permute 3s 2s +50%
mlk_keccakf1600x4_extract_bytes 3s 2s +50%
mlk_keccakf1600x4_xor_bytes 3s 2s +50%
mlk_keypair_getnoise_eta1 3s 3s +0%
mlk_montgomery_reduce 3s 1s +200%
mlk_poly_compress_d10_c 3s 5s -40%
mlk_poly_compress_d11_c 3s 3s +0%
mlk_poly_compress_d11_native 3s 2s +50%
mlk_poly_compress_d5_c 3s 2s +50%
mlk_poly_compress_du 3s 5s -40%
mlk_poly_decompress_d11_native 3s 2s +50%
mlk_poly_decompress_d4 3s 2s +50%
mlk_poly_decompress_d5_native 3s 3s +0%
mlk_poly_decompress_dv 3s 3s +0%
mlk_poly_frombytes_c 3s 2s +50%
mlk_poly_reduce 3s 2s +50%
mlk_poly_reduce_c 3s 3s +0%
mlk_poly_sub 3s 3s +0%
mlk_poly_tobytes_native 3s 2s +50%
mlk_poly_tomont 3s 3s +0%
mlk_polyvec_compress_du 3s 3s +0%
mlk_polyvec_mulcache_compute 3s 2s +50%
mlk_polyvec_ntt 3s 1s +200%
mlk_polyvec_reduce 3s 2s +50%
mlk_polyvec_tobytes 3s 2s +50%
mlk_polyvec_tomont 3s 3s +0%
mlk_scalar_compress_d1 3s 2s +50%
mlk_scalar_compress_d5 3s 2s +50%
mlk_scalar_signed_to_unsigned_q 3s 2s +50%
mlk_shake128x4_absorb_once 3s 2s +50%
mlk_shake128x4_squeezeblocks 3s 3s +0%
ntt_native_x86_64 3s 2s +50%
nttunpack_native_x86_64 3s 2s +50%
poly_compress_d10_native_x86_64 3s 3s +0%
poly_decompress_d11_native_x86_64 3s 3s +0%
poly_decompress_d5_native_x86_64 3s 2s +50%
poly_reduce_native_x86_64 3s 2s +50%
rej_uniform_native 3s 2s +50%
intt_native_aarch64 2s 3s -33%
intt_native_x86_64 2s 2s +0%
keccak_f1600_x1_native_aarch64 2s 2s +0%
keccak_f1600_x4_native_aarch64_v84a 2s 1s +100%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid 2s 2s +0%
keccakf1600x4_xor_bytes_native 2s 2s +0%
kem_check_sk 2s 3s -33%
kem_enc 2s 2s +0%
kem_enc_derand 2s 2s +0%
mlk_barrett_reduce 2s 2s +0%
mlk_ct_cmask_neg_i16 2s 3s -33%
mlk_ct_cmask_nonzero_u8 2s 2s +0%
mlk_ct_cmov_zero 2s 3s -33%
mlk_ct_get_optblocker_u8 2s 2s +0%
mlk_ct_sel_int16 2s 2s +0%
mlk_keccakf1600x4_permute 2s 2s +0%
mlk_matvec_mul 2s 3s -33%
mlk_poly_cbd_eta2 2s 1s +100%
mlk_poly_compress_d10 2s 5s -60%
mlk_poly_compress_d10_native 2s 2s +0%
mlk_poly_compress_d4_c 2s 1s +100%
mlk_poly_compress_d4_native 2s 3s -33%
mlk_poly_compress_dv 2s 2s +0%
mlk_poly_decompress_d10_c 2s 3s -33%
mlk_poly_decompress_d11 2s 4s -50%
mlk_poly_decompress_d11_c 2s 2s +0%
mlk_poly_decompress_d4_c 2s 1s +100%
mlk_poly_decompress_d5 2s 2s +0%
mlk_poly_getnoise_eta1_4x 2s 1s +100%
mlk_poly_getnoise_eta2 2s 2s +0%
mlk_poly_invntt_tomont_c 2s 2s +0%
mlk_poly_mulcache_compute_native 2s 2s +0%
mlk_poly_ntt 2s 2s +0%
mlk_poly_ntt_c 2s 1s +100%
mlk_poly_tobytes 2s 2s +0%
mlk_poly_tobytes_c 2s 2s +0%
mlk_poly_tomont_c 2s 3s -33%
mlk_poly_tomsg 2s 1s +100%
mlk_polyvec_basemul_acc_montgomery_cached 2s 3s -33%
mlk_polyvec_frombytes 2s 3s -33%
mlk_polyvec_invntt_tomont 2s 4s -50%
mlk_polyvec_permute_bitrev_to_custom 2s 4s -50%
mlk_polyvec_permute_bitrev_to_custom_native 2s 4s -50%
mlk_rej_uniform 2s 1s +100%
mlk_scalar_compress_d4 2s 2s +0%
mlk_scalar_decompress_d11 2s 2s +0%
mlk_scalar_decompress_d5 2s 2s +0%
mlk_sha3_256 2s 3s -33%
mlk_shake128_absorb_once 2s 3s -33%
mlk_shake128_squeezeblocks 2s 1s +100%
mlk_shake256 2s 1s +100%
mlk_value_barrier_i32 2s 2s +0%
poly_invntt_tomont_native 2s 3s -33%
poly_mulcache_compute_native_aarch64 2s 4s -50%
poly_reduce_native_aarch64 2s 1s +100%
poly_tomont_native_aarch64 2s 5s -60%
polyvec_basemul_acc_montgomery_cached_k2_native_aarch64 2s 4s -50%
rej_uniform_native_aarch64 2s 4s -50%
sys_check_capability 2s 2s +0%
kem_keypair 1s 1s +0%
kem_keypair_derand 1s 4s -75%
mlk_ct_get_optblocker_i32 1s 1s +0%
mlk_ct_get_optblocker_u32 1s 2s -50%
mlk_keccakf1600_extract_bytes (big endian) 1s 2s -50%
mlk_keccakf1600_xor_bytes 1s 1s +0%
mlk_keccakf1600_xor_bytes (big endian) 1s 3s -67%
mlk_keccakf1600x4_extract_bytes_c 1s 1s +0%
mlk_keccakf1600x4_xor_bytes_c 1s 2s -50%
mlk_poly_decompress_d10 1s 1s +0%
mlk_poly_decompress_d5_c 1s 2s -50%
mlk_poly_decompress_du 1s 3s -67%
mlk_poly_frombytes 1s 2s -50%
mlk_poly_getnoise_eta1122_4x 1s 2s -50%
mlk_poly_mulcache_compute 1s 1s +0%
mlk_poly_tomont_native 1s 2s -50%
mlk_polyvec_decompress_du 1s 2s -50%
mlk_scalar_compress_d11 1s 1s +0%
mlk_scalar_decompress_d4 1s 1s +0%
mlk_sha3_512 1s 3s -67%
ntt_native_aarch64 1s 4s -75%
poly_compress_d4_native_x86_64 1s 1s +0%
poly_getnoise_eta1122_4x_native 1s 4s -75%
poly_tobytes_native_aarch64 1s 2s -50%
poly_tobytes_native_x86_64 1s 2s -50%

@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented Mar 28, 2026

CBMC Results (ML-KEM-1024)

Full Results (190 proofs)
Proof Status Current Previous Change
**TOTAL** 1431s 1316s +8.7%
mlk_indcpa_enc 272s 256s +6%
polyvec_basemul_acc_montgomery_cached_native 138s 126s +10%
mlk_rej_uniform_c 95s 76s +25%
mlk_indcpa_keypair_derand 91s 81s +12%
mlk_polyvec_basemul_acc_montgomery_cached_c 77s 71s +8%
mlk_poly_rej_uniform 36s 32s +12%
poly_ntt_native 34s 36s -6%
mlk_polyvec_add 26s 25s +4%
mlk_keccak_squeezeblocks_x4 25s 26s -4%
keccakf1600x4_permute_native_x4 18s 18s +0%
mlk_poly_reduce_native 16s 12s +33%
mlk_poly_decompress_d11_native 15s 12s +25%
mlk_polyvec_ntt 15s 11s +36%
mlk_poly_decompress_d5_native 14s 12s +17%
mlk_ntt_layer 13s 13s +0%
mlk_indcpa_dec 12s 16s -25%
mlk_poly_frommsg 12s 11s +9%
mlk_poly_compress_d11_c 11s 9s +22%
mlk_keccak_absorb_once_x4 10s 8s +25%
mlk_poly_frombytes_native 10s 12s -17%
mlk_polymat_permute_bitrev_to_custom 10s 12s -17%
mlk_gen_matrix 9s 7s +29%
mlk_poly_rej_uniform_x4 9s 7s +29%
mlk_keccak_squeezeblocks 8s 5s +60%
mlk_ntt_butterfly_block 8s 7s +14%
kem_dec 7s 5s +40%
mlk_keccak_squeeze_once 7s 7s +0%
mlk_fqmul 6s 4s +50%
mlk_poly_add 6s 5s +20%
mlk_poly_mulcache_compute_c 6s 4s +50%
poly_frombytes_native_x86_64 6s 3s +100%
mlk_gen_matrix_serial 5s 5s +0%
mlk_invntt_layer 5s 5s +0%
mlk_keccak_absorb_once 5s 4s +25%
mlk_poly_compress_d4_native 5s 2s +150%
mlk_poly_tobytes_native 5s 1s +400%
poly_decompress_d5_native_x86_64 5s 3s +67%
intt_native_x86_64 4s 1s +300%
kem_check_pk 4s 4s +0%
kem_keypair_derand 4s 4s +0%
mlk_keccakf1600_permute_c 4s 3s +33%
mlk_keccakf1600_xor_bytes 4s 1s +300%
mlk_keccakf1600x4_xor_bytes_c 4s 1s +300%
mlk_poly_cbd_eta2 4s 1s +300%
mlk_poly_compress_d10_c 4s 1s +300%
mlk_poly_decompress_d4_c 4s 1s +300%
mlk_poly_decompress_d4_native 4s 2s +100%
mlk_poly_decompress_d5_c 4s 4s +0%
mlk_poly_getnoise_eta2 4s 3s +33%
mlk_polyvec_compress_du 4s 2s +100%
mlk_polyvec_permute_bitrev_to_custom 4s 1s +300%
mlk_scalar_compress_d1 4s 1s +300%
mlk_sha3_512 4s 3s +33%
mlk_shake256 4s 1s +300%
mlk_shake256x4 4s 4s +0%
poly_decompress_d11_native_x86_64 4s 5s -20%
poly_mulcache_compute_native_aarch64 4s 4s +0%
poly_mulcache_compute_native_x86_64 4s 1s +300%
poly_tobytes_native_aarch64 4s 3s +33%
polyvec_basemul_acc_montgomery_cached_k2_native_aarch64 4s 1s +300%
polyvec_basemul_acc_montgomery_cached_k2_native_x86_64 4s 2s +100%
polyvec_basemul_acc_montgomery_cached_k4_native_x86_64 4s 2s +100%
sys_check_capability 4s 3s +33%
intt_native_aarch64 3s 3s +0%
keccak_f1600_x1_native_aarch64 3s 1s +200%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid 3s 2s +50%
keccakf1600_permute_native 3s 1s +200%
keccakf1600x4_extract_bytes_native 3s 2s +50%
kem_enc 3s 1s +200%
kem_keypair 3s 3s +0%
mlk_check_pct 3s 4s -25%
mlk_ct_cmask_nonzero_u16 3s 3s +0%
mlk_ct_sel_int16 3s 4s -25%
mlk_ct_sel_uint8 3s 2s +50%
mlk_keccakf1600x4_extract_bytes 3s 3s +0%
mlk_keccakf1600x4_permute 3s 2s +50%
mlk_keccakf1600x4_xor_bytes 3s 2s +50%
mlk_matvec_mul 3s 1s +200%
mlk_montgomery_reduce 3s 1s +200%
mlk_poly_compress_d5 3s 3s +0%
mlk_poly_compress_d5_c 3s 2s +50%
mlk_poly_compress_du 3s 5s -40%
mlk_poly_decompress_d11_c 3s 3s +0%
mlk_poly_ntt_c 3s 1s +200%
mlk_poly_tomont_native 3s 1s +200%
mlk_poly_tomsg 3s 2s +50%
mlk_polyvec_basemul_acc_montgomery_cached 3s 3s +0%
mlk_polyvec_invntt_tomont 3s 1s +200%
mlk_polyvec_mulcache_compute 3s 3s +0%
mlk_polyvec_permute_bitrev_to_custom_native 3s 3s +0%
mlk_polyvec_reduce 3s 3s +0%
mlk_polyvec_tobytes 3s 2s +50%
mlk_polyvec_tomont 3s 5s -40%
mlk_scalar_compress_d5 3s 2s +50%
mlk_scalar_decompress_d5 3s 3s +0%
mlk_sha3_256 3s 2s +50%
mlk_shake128x4_absorb_once 3s 3s +0%
mlk_value_barrier_i32 3s 3s +0%
mlk_value_barrier_u32 3s 2s +50%
mlk_value_barrier_u8 3s 4s -25%
ntt_native_aarch64 3s 4s -25%
ntt_native_x86_64 3s 2s +50%
poly_compress_d11_native_x86_64 3s 3s +0%
poly_reduce_native_x86_64 3s 2s +50%
poly_tobytes_native_x86_64 3s 2s +50%
polyvec_basemul_acc_montgomery_cached_k3_native_x86_64 3s 2s +50%
rej_uniform_native 3s 4s -25%
keccak_f1600_x4_native_aarch64_v84a 2s 2s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid 2s 2s +0%
kem_check_sk 2s 2s +0%
mlk_barrett_reduce 2s 2s +0%
mlk_ct_cmask_nonzero_u8 2s 2s +0%
mlk_ct_cmov_zero 2s 2s +0%
mlk_ct_get_optblocker_i32 2s 2s +0%
mlk_ct_get_optblocker_u32 2s 2s +0%
mlk_ct_memcmp 2s 3s -33%
mlk_keccakf1600_extract_bytes 2s 4s -50%
mlk_keccakf1600_extract_bytes (big endian) 2s 2s +0%
mlk_keccakf1600_permute 2s 3s -33%
mlk_keccakf1600_xor_bytes (big endian) 2s 1s +100%
mlk_keccakf1600x4_extract_bytes_c 2s 2s +0%
mlk_poly_cbd_eta1 2s 4s -50%
mlk_poly_compress_d10 2s 1s +100%
mlk_poly_compress_d10_native 2s 2s +0%
mlk_poly_compress_d4_c 2s 2s +0%
mlk_poly_compress_d5_native 2s 2s +0%
mlk_poly_compress_dv 2s 2s +0%
mlk_poly_decompress_d10_c 2s 3s -33%
mlk_poly_decompress_d10_native 2s 1s +100%
mlk_poly_decompress_d11 2s 4s -50%
mlk_poly_decompress_d4 2s 3s -33%
mlk_poly_decompress_du 2s 2s +0%
mlk_poly_decompress_dv 2s 4s -50%
mlk_poly_frombytes 2s 2s +0%
mlk_poly_frombytes_c 2s 4s -50%
mlk_poly_getnoise_eta1122_4x 2s 1s +100%
mlk_poly_getnoise_eta1_4x 2s 3s -33%
mlk_poly_getnoise_eta1_4x_native 2s 2s +0%
mlk_poly_invntt_tomont_c 2s 2s +0%
mlk_poly_mulcache_compute 2s 3s -33%
mlk_poly_mulcache_compute_native 2s 4s -50%
mlk_poly_ntt 2s 1s +100%
mlk_poly_reduce 2s 1s +100%
mlk_poly_reduce_c 2s 1s +100%
mlk_poly_sub 2s 1s +100%
mlk_poly_tobytes 2s 2s +0%
mlk_poly_tobytes_c 2s 3s -33%
mlk_poly_tomont 2s 2s +0%
mlk_poly_tomont_c 2s 1s +100%
mlk_polyvec_frombytes 2s 3s -33%
mlk_rej_uniform 2s 2s +0%
mlk_scalar_compress_d11 2s 3s -33%
mlk_scalar_compress_d4 2s 3s -33%
mlk_scalar_decompress_d11 2s 2s +0%
mlk_scalar_signed_to_unsigned_q 2s 3s -33%
mlk_shake128_absorb_once 2s 1s +100%
mlk_shake128_squeezeblocks 2s 2s +0%
nttunpack_native_x86_64 2s 2s +0%
poly_compress_d4_native_x86_64 2s 1s +100%
poly_compress_d5_native_x86_64 2s 3s -33%
poly_decompress_d10_native_x86_64 2s 4s -50%
poly_decompress_d4_native_x86_64 2s 2s +0%
poly_invntt_tomont_native 2s 2s +0%
poly_tomont_native_aarch64 2s 2s +0%
poly_tomont_native_x86_64 2s 4s -50%
polyvec_basemul_acc_montgomery_cached_k4_native_aarch64 2s 3s -33%
rej_uniform_native_aarch64 2s 4s -50%
keccak_f1600_x1_native_aarch64_v84a 1s 2s -50%
keccak_f1600_x4_native_avx2 1s 3s -67%
keccakf1600x4_xor_bytes_native 1s 3s -67%
kem_enc_derand 1s 2s -50%
mlk_ct_cmask_neg_i16 1s 4s -75%
mlk_ct_get_optblocker_u8 1s 2s -50%
mlk_keypair_getnoise_eta1 1s 3s -67%
mlk_poly_compress_d11 1s 3s -67%
mlk_poly_compress_d11_native 1s 4s -75%
mlk_poly_compress_d4 1s 1s +0%
mlk_poly_decompress_d10 1s 3s -67%
mlk_poly_decompress_d5 1s 2s -50%
mlk_poly_invntt_tomont 1s 3s -67%
mlk_polyvec_decompress_du 1s 2s -50%
mlk_scalar_compress_d10 1s 3s -67%
mlk_scalar_decompress_d10 1s 1s +0%
mlk_scalar_decompress_d4 1s 2s -50%
mlk_shake128x4_squeezeblocks 1s 3s -67%
poly_compress_d10_native_x86_64 1s 1s +0%
poly_getnoise_eta1122_4x_native 1s 2s -50%
poly_reduce_native_aarch64 1s 1s +0%
polyvec_basemul_acc_montgomery_cached_k3_native_aarch64 1s 4s -75%
rej_uniform_native_x86_64 1s 4s -75%

Copy link
Copy Markdown
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.

SpacemiT K1 8 (Banana Pi F3) benchmarks

Details
Benchmark suite Current: ae9162e Previous: 81a5e72 Ratio
ML-KEM-512 keypair 155527 cycles 155396 cycles 1.00
ML-KEM-512 encaps 163416 cycles 163248 cycles 1.00
ML-KEM-512 decaps 206678 cycles 206498 cycles 1.00
ML-KEM-768 keypair 249881 cycles 249749 cycles 1.00
ML-KEM-768 encaps 270385 cycles 270217 cycles 1.00
ML-KEM-768 decaps 332200 cycles 332485 cycles 1.00
ML-KEM-1024 keypair 395810 cycles 395420 cycles 1.00
ML-KEM-1024 encaps 423624 cycles 423209 cycles 1.00
ML-KEM-1024 decaps 507309 cycles 506804 cycles 1.00

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

@mkannwischer mkannwischer marked this pull request as ready for review March 28, 2026 06:23
@mkannwischer mkannwischer requested a review from a team as a code owner March 28, 2026 06:23
Copy link
Copy Markdown
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.

Arm Cortex-A72 (Raspberry Pi 4) benchmarks

Details
Benchmark suite Current: ae9162e Previous: 81a5e72 Ratio
ML-KEM-512 keypair 50673 cycles 51363 cycles 0.99
ML-KEM-512 encaps 58542 cycles 59494 cycles 0.98
ML-KEM-512 decaps 75315 cycles 75347 cycles 1.00
ML-KEM-768 keypair 86171 cycles 86863 cycles 0.99
ML-KEM-768 encaps 94320 cycles 94915 cycles 0.99
ML-KEM-768 decaps 117702 cycles 119808 cycles 0.98
ML-KEM-1024 keypair 129513 cycles 131224 cycles 0.99
ML-KEM-1024 encaps 142127 cycles 144261 cycles 0.99
ML-KEM-1024 decaps 174310 cycles 176677 cycles 0.99

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

@mkannwischer mkannwischer added benchmark this PR should be benchmarked in CI and removed benchmark this PR should be benchmarked in CI labels Apr 5, 2026
Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 12056 cycles 12037 cycles 1.00
ML-KEM-512 encaps 13593 cycles 13756 cycles 0.99
ML-KEM-512 decaps 17746 cycles 17776 cycles 1.00
ML-KEM-768 keypair 21251 cycles 21044 cycles 1.01
ML-KEM-768 encaps 22080 cycles 22040 cycles 1.00
ML-KEM-768 decaps 28477 cycles 28416 cycles 1.00
ML-KEM-1024 keypair 29985 cycles 29879 cycles 1.00
ML-KEM-1024 encaps 31703 cycles 31716 cycles 1.00
ML-KEM-1024 decaps 39427 cycles 39467 cycles 1.00

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

Copy link
Copy Markdown
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: ae9162e Previous: e2bc4ad Ratio
ML-KEM-512 keypair 28235 cycles 28191 cycles 1.00
ML-KEM-512 encaps 36632 cycles 36609 cycles 1.00
ML-KEM-512 decaps 45151 cycles 45197 cycles 1.00
ML-KEM-768 keypair 46233 cycles 46321 cycles 1.00
ML-KEM-768 encaps 55779 cycles 55810 cycles 1.00
ML-KEM-768 decaps 69830 cycles 69876 cycles 1.00
ML-KEM-1024 keypair 70568 cycles 70306 cycles 1.00
ML-KEM-1024 encaps 82482 cycles 82479 cycles 1.00
ML-KEM-1024 decaps 99377 cycles 98894 cycles 1.00

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

Our benchmarking boxes are back online. This renables benchmarking in CI.

Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
@mkannwischer mkannwischer added benchmark this PR should be benchmarked in CI and removed benchmark this PR should be benchmarked in CI labels Apr 12, 2026
@mkannwischer mkannwischer merged commit 174f15b into main Apr 12, 2026
419 checks passed
@mkannwischer mkannwischer deleted the reenable-bench branch April 12, 2026 06:07
mkannwischer added a commit to pq-code-package/mldsa-native that referenced this pull request Apr 12, 2026
Port of pq-code-package/mlkem-native#1641.

Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
hanno-becker pushed a commit to pq-code-package/mldsa-native that referenced this pull request Apr 14, 2026
Port of pq-code-package/mlkem-native#1641.

Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
mkannwischer added a commit to pq-code-package/mldsa-native that referenced this pull request Apr 14, 2026
Port of pq-code-package/mlkem-native#1641.

Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
hanno-becker pushed a commit to pq-code-package/mldsa-native that referenced this pull request Apr 14, 2026
Port of pq-code-package/mlkem-native#1641.

Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
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