Skip to content

Consolidate MLK_USE_NATIVE_XXX macros#1541

Closed
mkannwischer wants to merge 1 commit intomainfrom
consolidate-use-native
Closed

Consolidate MLK_USE_NATIVE_XXX macros#1541
mkannwischer wants to merge 1 commit intomainfrom
consolidate-use-native

Conversation

@mkannwischer
Copy link
Copy Markdown
Contributor

In the arithmetic backend, we signal support for certain functions using macros of the form MLK_USE_NATIVE_XXX (e.g., MLK_USE_NATIVE_NTT), while in the FIPS202 backend, we use MLK_USE_XXX_NATIVE (e.g., MLK_USE_FIPS202_X1_NATIVE). This commit consolidates it to MLK_USE_NATIVE_XXX.

In the arithmetic backend, we signal support for certain functions using macros
of the form MLK_USE_NATIVE_XXX (e.g., MLK_USE_NATIVE_NTT), while in the FIPS202
backend, we use MLK_USE_XXX_NATIVE (e.g., MLK_USE_FIPS202_X1_NATIVE).
This commit consolidates it to MLK_USE_NATIVE_XXX.

- Resolves #1523

Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
@mkannwischer mkannwischer added benchmark this PR should be benchmarked in CI needs-mldsa-native-port labels Feb 2, 2026
@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented Feb 2, 2026

CBMC Results (ML-KEM-512)

Full Results (151 proofs)
Proof Status Current Previous Change
**TOTAL** 1146s 1215s -5.7%
mlk_indcpa_keypair_derand 165s 171s -4%
mlk_indcpa_enc 155s 162s -4%
mlk_keccak_squeezeblocks_x4 132s 135s -2%
mlk_rej_uniform_c 69s 82s -16%
mlk_polyvec_basemul_acc_montgomery_cached_c 43s 45s -4%
mlk_poly_rej_uniform 31s 34s -9%
mlk_polyvec_add 26s 26s +0%
poly_ntt_native 26s 35s -26%
mlk_ntt_layer 23s 22s +5%
keccakf1600x4_permute_native_x4 19s 18s +6%
polyvec_basemul_acc_montgomery_cached_native 19s 22s -14%
mlk_poly_reduce_native 15s 14s +7%
mlk_indcpa_dec 12s 11s +9%
mlk_keccak_absorb_once_x4 11s 11s +0%
mlk_poly_sub 9s 8s +12%
mlk_keccak_squeeze_once 8s 9s -11%
mlk_keccak_squeezeblocks 7s 6s +17%
mlk_ntt_butterfly_block 7s 9s -22%
mlk_poly_frombytes_native 7s 10s -30%
mlk_poly_frommsg 7s 9s -22%
mlk_poly_rej_uniform_x4 7s 7s +0%
keccakf1600_permute_native 6s 9s -33%
mlk_polymat_permute_bitrev_to_custom 6s 4s +50%
mlk_shake256x4 6s 4s +50%
kem_dec 5s 5s +0%
mlk_fqmul 5s 6s -17%
mlk_poly_mulcache_compute_c 5s 2s +150%
mlk_shake256 5s 3s +67%
kem_enc_derand 4s 2s +100%
kem_keypair 4s 4s +0%
mlk_check_pct 4s 3s +33%
mlk_ct_cmov_zero 4s 1s +300%
mlk_ct_memcmp 4s 3s +33%
mlk_ct_sel_uint8 4s 4s +0%
mlk_gen_matrix 4s 5s -20%
mlk_invntt_layer 4s 7s -43%
mlk_keccak_absorb_once 4s 5s -20%
mlk_poly_cbd_eta1 4s 4s +0%
mlk_poly_mulcache_compute 4s 5s -20%
mlk_poly_reduce_c 4s 2s +100%
mlk_polyvec_mulcache_compute 4s 3s +33%
mlk_scalar_compress_d4 4s 3s +33%
mlk_scalar_compress_d5 4s 2s +100%
mlk_scalar_decompress_d4 4s 2s +100%
ntt_native_x86_64 4s 4s +0%
poly_getnoise_eta1122_4x_native 4s 4s +0%
poly_mulcache_compute_native_aarch64 4s 3s +33%
poly_reduce_native_x86_64 4s 3s +33%
polyvec_basemul_acc_montgomery_cached_k3_native_aarch64 4s 1s +300%
polyvec_basemul_acc_montgomery_cached_k3_native_x86_64 4s 4s +0%
polyvec_basemul_acc_montgomery_cached_k4_native_aarch64 4s 2s +100%
rej_uniform_native 4s 3s +33%
intt_native_aarch64 3s 2s +50%
keccak_f1600_x1_native_aarch64_v84a 3s 3s +0%
kem_check_pk 3s 4s -25%
kem_check_sk 3s 3s +0%
kem_enc 3s 2s +50%
mlk_ct_get_optblocker_i32 3s 1s +200%
mlk_ct_sel_int16 3s 5s -40%
mlk_keccakf1600_permute 3s 3s +0%
mlk_keccakf1600x4_xor_bytes 3s 2s +50%
mlk_poly_add 3s 1s +200%
mlk_poly_compress_du 3s 5s -40%
mlk_poly_decompress_du 3s 2s +50%
mlk_poly_getnoise_eta1122_4x 3s 3s +0%
mlk_poly_getnoise_eta1_4x_native 3s 2s +50%
mlk_poly_tomont_c 3s 2s +50%
mlk_polyvec_basemul_acc_montgomery_cached 3s 4s -25%
mlk_polyvec_compress_du 3s 3s +0%
mlk_polyvec_invntt_tomont 3s 2s +50%
mlk_polyvec_ntt 3s 2s +50%
mlk_rej_uniform 3s 2s +50%
mlk_scalar_compress_d1 3s 4s -25%
mlk_scalar_decompress_d10 3s 2s +50%
mlk_shake128_squeezeblocks 3s 3s +0%
ntt_native_aarch64 3s 3s +0%
nttunpack_native_x86_64 3s 4s -25%
poly_frombytes_native_x86_64 3s 4s -25%
poly_invntt_tomont_native 3s 2s +50%
poly_tobytes_native_aarch64 3s 1s +200%
poly_tomont_native_aarch64 3s 1s +200%
polyvec_basemul_acc_montgomery_cached_k2_native_x86_64 3s 4s -25%
polyvec_basemul_acc_montgomery_cached_k4_native_x86_64 3s 3s +0%
rej_uniform_native_x86_64 3s 4s -25%
sys_check_capability 3s 1s +200%
intt_native_x86_64 2s 2s +0%
keccak_f1600_x4_native_aarch64_v84a 2s 3s -33%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid 2s 2s +0%
kem_keypair_derand 2s 6s -67%
mlk_barrett_reduce 2s 4s -50%
mlk_ct_cmask_neg_i16 2s 2s +0%
mlk_ct_get_optblocker_u32 2s 5s -60%
mlk_gen_matrix_serial 2s 3s -33%
mlk_keccakf1600_extract_bytes 2s 3s -33%
mlk_keccakf1600_extract_bytes (big endian) 2s 1s +100%
mlk_keccakf1600_xor_bytes 2s 2s +0%
mlk_keccakf1600_xor_bytes (big endian) 2s 2s +0%
mlk_keccakf1600x4_extract_bytes 2s 4s -50%
mlk_matvec_mul 2s 2s +0%
mlk_montgomery_reduce 2s 4s -50%
mlk_poly_cbd_eta2 2s 4s -50%
mlk_poly_compress_dv 2s 2s +0%
mlk_poly_frombytes 2s 2s +0%
mlk_poly_frombytes_c 2s 5s -60%
mlk_poly_getnoise_eta1_4x 2s 3s -33%
mlk_poly_getnoise_eta2 2s 5s -60%
mlk_poly_invntt_tomont 2s 2s +0%
mlk_poly_invntt_tomont_c 2s 2s +0%
mlk_poly_mulcache_compute_native 2s 3s -33%
mlk_poly_ntt 2s 2s +0%
mlk_poly_ntt_c 2s 3s -33%
mlk_poly_reduce 2s 1s +100%
mlk_poly_tobytes 2s 2s +0%
mlk_poly_tobytes_c 2s 4s -50%
mlk_poly_tomsg 2s 3s -33%
mlk_polyvec_decompress_du 2s 2s +0%
mlk_polyvec_frombytes 2s 2s +0%
mlk_polyvec_permute_bitrev_to_custom 2s 4s -50%
mlk_polyvec_permute_bitrev_to_custom_native 2s 4s -50%
mlk_polyvec_reduce 2s 4s -50%
mlk_polyvec_tobytes 2s 2s +0%
mlk_polyvec_tomont 2s 2s +0%
mlk_scalar_compress_d10 2s 2s +0%
mlk_scalar_decompress_d11 2s 4s -50%
mlk_scalar_decompress_d5 2s 1s +100%
mlk_scalar_signed_to_unsigned_q 2s 1s +100%
mlk_sha3_256 2s 1s +100%
mlk_sha3_512 2s 2s +0%
mlk_shake128x4_squeezeblocks 2s 3s -33%
poly_mulcache_compute_native_x86_64 2s 1s +100%
poly_tobytes_native_x86_64 2s 1s +100%
poly_tomont_native_x86_64 2s 2s +0%
polyvec_basemul_acc_montgomery_cached_k2_native_aarch64 2s 2s +0%
rej_uniform_native_aarch64 2s 5s -60%
keccak_f1600_x1_native_aarch64 1s 1s +0%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid 1s 1s +0%
mlk_ct_cmask_nonzero_u16 1s 4s -75%
mlk_ct_cmask_nonzero_u8 1s 1s +0%
mlk_ct_get_optblocker_u8 1s 4s -75%
mlk_keccakf1600x4_permute 1s 5s -80%
mlk_poly_decompress_dv 1s 2s -50%
mlk_poly_tobytes_native 1s 2s -50%
mlk_poly_tomont 1s 2s -50%
mlk_poly_tomont_native 1s 2s -50%
mlk_scalar_compress_d11 1s 2s -50%
mlk_shake128_absorb_once 1s 1s +0%
mlk_shake128x4_absorb_once 1s 2s -50%
mlk_value_barrier_i32 1s 3s -67%
mlk_value_barrier_u32 1s 1s +0%
mlk_value_barrier_u8 1s 1s +0%
poly_reduce_native_aarch64 1s 1s +0%

@mkannwischer mkannwischer added benchmark this PR should be benchmarked in CI and removed benchmark this PR should be benchmarked in CI labels Feb 2, 2026
@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented Feb 2, 2026

CBMC Results (ML-KEM-768)

Full Results (151 proofs)
Proof Status Current Previous Change
**TOTAL** 1355s 1299s +4.3%
mlk_indcpa_enc 190s 174s +9%
mlk_keccak_squeezeblocks_x4 155s 142s +9%
mlk_indcpa_keypair_derand 154s 155s -1%
mlk_rej_uniform_c 94s 81s +16%
mlk_polyvec_basemul_acc_montgomery_cached_c 91s 81s +12%
polyvec_basemul_acc_montgomery_cached_native 56s 59s -5%
mlk_poly_rej_uniform 39s 39s +0%
mlk_ntt_layer 36s 39s -8%
poly_ntt_native 30s 27s +11%
mlk_polyvec_add 28s 30s -7%
keccakf1600x4_permute_native_x4 19s 17s +12%
mlk_indcpa_dec 16s 16s +0%
mlk_poly_reduce_native 15s 16s -6%
mlk_poly_frombytes_native 11s 11s +0%
mlk_keccak_absorb_once_x4 10s 11s -9%
mlk_poly_frommsg 10s 7s +43%
mlk_poly_sub 10s 11s -9%
mlk_ntt_butterfly_block 9s 9s +0%
poly_frombytes_native_x86_64 9s 6s +50%
mlk_polymat_permute_bitrev_to_custom 8s 6s +33%
mlk_poly_rej_uniform_x4 7s 7s +0%
kem_dec 6s 7s -14%
mlk_fqmul 6s 7s -14%
mlk_invntt_layer 6s 6s +0%
mlk_keccak_squeeze_once 6s 6s +0%
mlk_keccak_squeezeblocks 6s 8s -25%
intt_native_x86_64 5s 2s +150%
keccakf1600_permute_native 5s 5s +0%
kem_enc 5s 3s +67%
kem_keypair 5s 2s +150%
mlk_keccak_absorb_once 5s 4s +25%
mlk_keccakf1600_extract_bytes (big endian) 5s 4s +25%
mlk_poly_frombytes 5s 1s +400%
intt_native_aarch64 4s 3s +33%
mlk_gen_matrix_serial 4s 3s +33%
mlk_keccakf1600_permute 4s 4s +0%
mlk_poly_compress_du 4s 4s +0%
mlk_poly_compress_dv 4s 2s +100%
mlk_poly_frombytes_c 4s 4s +0%
mlk_poly_getnoise_eta1_4x 4s 4s +0%
mlk_poly_getnoise_eta2 4s 4s +0%
mlk_poly_mulcache_compute_native 4s 3s +33%
mlk_poly_tobytes_native 4s 1s +300%
mlk_poly_tomont 4s 1s +300%
mlk_poly_tomsg 4s 4s +0%
mlk_polyvec_basemul_acc_montgomery_cached 4s 3s +33%
mlk_scalar_compress_d10 4s 2s +100%
mlk_scalar_compress_d11 4s 2s +100%
mlk_scalar_decompress_d4 4s 4s +0%
mlk_shake128_absorb_once 4s 2s +100%
mlk_value_barrier_u8 4s 1s +300%
ntt_native_aarch64 4s 3s +33%
keccak_f1600_x1_native_aarch64 3s 2s +50%
keccak_f1600_x1_native_aarch64_v84a 3s 1s +200%
keccak_f1600_x4_native_aarch64_v84a 3s 1s +200%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid 3s 2s +50%
kem_check_pk 3s 3s +0%
kem_enc_derand 3s 3s +0%
mlk_barrett_reduce 3s 2s +50%
mlk_check_pct 3s 4s -25%
mlk_ct_cmask_neg_i16 3s 2s +50%
mlk_ct_get_optblocker_i32 3s 3s +0%
mlk_gen_matrix 3s 3s +0%
mlk_keccakf1600_xor_bytes 3s 2s +50%
mlk_matvec_mul 3s 2s +50%
mlk_poly_decompress_dv 3s 2s +50%
mlk_poly_getnoise_eta1_4x_native 3s 5s -40%
mlk_poly_invntt_tomont 3s 2s +50%
mlk_poly_mulcache_compute_c 3s 1s +200%
mlk_poly_ntt 3s 3s +0%
mlk_poly_reduce 3s 2s +50%
mlk_poly_tobytes_c 3s 3s +0%
mlk_poly_tomont_c 3s 6s -50%
mlk_polyvec_invntt_tomont 3s 2s +50%
mlk_polyvec_ntt 3s 2s +50%
mlk_polyvec_permute_bitrev_to_custom_native 3s 3s +0%
mlk_polyvec_reduce 3s 1s +200%
mlk_polyvec_tobytes 3s 2s +50%
mlk_rej_uniform 3s 1s +200%
mlk_sha3_256 3s 4s -25%
mlk_shake128x4_absorb_once 3s 1s +200%
mlk_shake256x4 3s 5s -40%
ntt_native_x86_64 3s 3s +0%
nttunpack_native_x86_64 3s 2s +50%
poly_getnoise_eta1122_4x_native 3s 2s +50%
poly_mulcache_compute_native_x86_64 3s 2s +50%
poly_reduce_native_x86_64 3s 2s +50%
poly_tobytes_native_x86_64 3s 2s +50%
poly_tomont_native_aarch64 3s 3s +0%
polyvec_basemul_acc_montgomery_cached_k2_native_x86_64 3s 3s +0%
polyvec_basemul_acc_montgomery_cached_k3_native_aarch64 3s 3s +0%
rej_uniform_native_aarch64 3s 3s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid 2s 1s +100%
kem_check_sk 2s 2s +0%
kem_keypair_derand 2s 3s -33%
mlk_ct_cmask_nonzero_u16 2s 2s +0%
mlk_ct_cmov_zero 2s 3s -33%
mlk_ct_memcmp 2s 3s -33%
mlk_ct_sel_int16 2s 4s -50%
mlk_keccakf1600_extract_bytes 2s 1s +100%
mlk_keccakf1600_xor_bytes (big endian) 2s 1s +100%
mlk_keccakf1600x4_extract_bytes 2s 3s -33%
mlk_keccakf1600x4_permute 2s 3s -33%
mlk_keccakf1600x4_xor_bytes 2s 2s +0%
mlk_poly_cbd_eta1 2s 1s +100%
mlk_poly_decompress_du 2s 2s +0%
mlk_poly_getnoise_eta1122_4x 2s 2s +0%
mlk_poly_invntt_tomont_c 2s 1s +100%
mlk_poly_mulcache_compute 2s 1s +100%
mlk_poly_ntt_c 2s 2s +0%
mlk_poly_tomont_native 2s 2s +0%
mlk_polyvec_compress_du 2s 5s -60%
mlk_polyvec_decompress_du 2s 2s +0%
mlk_polyvec_mulcache_compute 2s 2s +0%
mlk_polyvec_permute_bitrev_to_custom 2s 2s +0%
mlk_scalar_compress_d1 2s 1s +100%
mlk_scalar_compress_d5 2s 2s +0%
mlk_scalar_decompress_d10 2s 2s +0%
mlk_scalar_signed_to_unsigned_q 2s 1s +100%
mlk_sha3_512 2s 1s +100%
mlk_shake128_squeezeblocks 2s 1s +100%
mlk_value_barrier_i32 2s 4s -50%
poly_mulcache_compute_native_aarch64 2s 5s -60%
poly_reduce_native_aarch64 2s 3s -33%
poly_tobytes_native_aarch64 2s 4s -50%
poly_tomont_native_x86_64 2s 4s -50%
polyvec_basemul_acc_montgomery_cached_k3_native_x86_64 2s 2s +0%
polyvec_basemul_acc_montgomery_cached_k4_native_aarch64 2s 2s +0%
rej_uniform_native 2s 4s -50%
rej_uniform_native_x86_64 2s 4s -50%
mlk_ct_cmask_nonzero_u8 1s 3s -67%
mlk_ct_get_optblocker_u32 1s 3s -67%
mlk_ct_get_optblocker_u8 1s 2s -50%
mlk_ct_sel_uint8 1s 2s -50%
mlk_montgomery_reduce 1s 3s -67%
mlk_poly_add 1s 4s -75%
mlk_poly_cbd_eta2 1s 1s +0%
mlk_poly_reduce_c 1s 3s -67%
mlk_poly_tobytes 1s 3s -67%
mlk_polyvec_frombytes 1s 1s +0%
mlk_polyvec_tomont 1s 1s +0%
mlk_scalar_compress_d4 1s 3s -67%
mlk_scalar_decompress_d11 1s 3s -67%
mlk_scalar_decompress_d5 1s 3s -67%
mlk_shake128x4_squeezeblocks 1s 2s -50%
mlk_shake256 1s 5s -80%
mlk_value_barrier_u32 1s 3s -67%
poly_invntt_tomont_native 1s 1s +0%
polyvec_basemul_acc_montgomery_cached_k2_native_aarch64 1s 2s -50%
polyvec_basemul_acc_montgomery_cached_k4_native_x86_64 1s 4s -75%
sys_check_capability 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.

Mac Mini (M1, 2020) benchmarks

Details
Benchmark suite Current: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 12327 cycles 12327 cycles 1
ML-KEM-512 encaps 15033 cycles 15029 cycles 1.00
ML-KEM-512 decaps 19609 cycles 19607 cycles 1.00
ML-KEM-768 keypair 21092 cycles 21092 cycles 1
ML-KEM-768 encaps 23862 cycles 23863 cycles 1.00
ML-KEM-768 decaps 30443 cycles 30443 cycles 1
ML-KEM-1024 keypair 30375 cycles 30376 cycles 1.00
ML-KEM-1024 encaps 34642 cycles 34642 cycles 1
ML-KEM-1024 decaps 44267 cycles 44279 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 59312 cycles 61729 cycles 0.96
ML-KEM-512 encaps 71978 cycles 76321 cycles 0.94
ML-KEM-512 decaps 91662 cycles 96900 cycles 0.95
ML-KEM-768 keypair 98528 cycles 101843 cycles 0.97
ML-KEM-768 encaps 114864 cycles 118989 cycles 0.97
ML-KEM-768 decaps 140397 cycles 145386 cycles 0.97
ML-KEM-1024 keypair 148781 cycles 153347 cycles 0.97
ML-KEM-1024 encaps 167693 cycles 172326 cycles 0.97
ML-KEM-1024 decaps 198974 cycles 204380 cycles 0.97

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

@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented Feb 2, 2026

CBMC Results (ML-KEM-1024)

Full Results (151 proofs)
Proof Status Current Previous Change
**TOTAL** 1594s 1740s -8.4%
mlk_indcpa_keypair_derand 323s 349s -7%
mlk_indcpa_enc 211s 255s -17%
mlk_keccak_squeezeblocks_x4 135s 143s -6%
polyvec_basemul_acc_montgomery_cached_native 127s 138s -8%
mlk_rej_uniform_c 73s 107s -32%
mlk_polyvec_basemul_acc_montgomery_cached_c 65s 58s +12%
mlk_poly_rej_uniform 44s 41s +7%
mlk_ntt_layer 36s 36s +0%
mlk_poly_decompress_dv 35s 43s -19%
mlk_indcpa_dec 29s 25s +16%
poly_ntt_native 25s 28s -11%
keccakf1600x4_permute_native_x4 18s 19s -5%
mlk_poly_reduce_native 16s 17s -6%
mlk_polyvec_ntt 14s 15s -7%
mlk_poly_sub 11s 8s +38%
mlk_fqmul 10s 6s +67%
mlk_keccak_absorb_once_x4 10s 13s -23%
mlk_ntt_butterfly_block 10s 13s -23%
mlk_polyvec_add 10s 9s +11%
mlk_poly_compress_du 9s 9s +0%
mlk_poly_frommsg 9s 8s +12%
mlk_keccak_squeeze_once 8s 10s -20%
mlk_keccak_squeezeblocks 7s 7s +0%
mlk_poly_frombytes_native 7s 9s -22%
mlk_poly_rej_uniform_x4 7s 7s +0%
keccakf1600_permute_native 6s 5s +20%
kem_dec 6s 7s -14%
mlk_gen_matrix 6s 8s -25%
mlk_invntt_layer 6s 6s +0%
mlk_shake256x4 6s 6s +0%
mlk_ct_cmask_nonzero_u16 5s 3s +67%
mlk_keccak_absorb_once 5s 5s +0%
mlk_keccakf1600x4_xor_bytes 5s 3s +67%
mlk_montgomery_reduce 5s 2s +150%
mlk_poly_ntt_c 5s 3s +67%
mlk_poly_reduce_c 5s 2s +150%
mlk_polyvec_decompress_du 5s 3s +67%
kem_check_pk 4s 4s +0%
mlk_check_pct 4s 4s +0%
mlk_ct_sel_int16 4s 2s +100%
mlk_gen_matrix_serial 4s 6s -33%
mlk_poly_getnoise_eta1122_4x 4s 2s +100%
mlk_poly_getnoise_eta1_4x 4s 3s +33%
mlk_poly_tomsg 4s 3s +33%
mlk_polymat_permute_bitrev_to_custom 4s 4s +0%
mlk_polyvec_basemul_acc_montgomery_cached 4s 2s +100%
mlk_polyvec_compress_du 4s 4s +0%
mlk_polyvec_mulcache_compute 4s 3s +33%
mlk_polyvec_permute_bitrev_to_custom_native 4s 5s -20%
mlk_scalar_compress_d11 4s 2s +100%
mlk_value_barrier_u8 4s 2s +100%
rej_uniform_native 4s 3s +33%
intt_native_x86_64 3s 2s +50%
keccak_f1600_x4_native_aarch64_v84a 3s 3s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid 3s 2s +50%
kem_enc 3s 3s +0%
mlk_barrett_reduce 3s 2s +50%
mlk_ct_get_optblocker_u32 3s 4s -25%
mlk_keccakf1600_extract_bytes (big endian) 3s 2s +50%
mlk_keccakf1600_permute 3s 4s -25%
mlk_keccakf1600_xor_bytes (big endian) 3s 2s +50%
mlk_keccakf1600x4_permute 3s 3s +0%
mlk_poly_add 3s 3s +0%
mlk_poly_cbd_eta1 3s 3s +0%
mlk_poly_frombytes 3s 3s +0%
mlk_poly_getnoise_eta1_4x_native 3s 3s +0%
mlk_poly_invntt_tomont 3s 3s +0%
mlk_poly_mulcache_compute_c 3s 2s +50%
mlk_poly_tobytes 3s 1s +200%
mlk_poly_tobytes_c 3s 1s +200%
mlk_poly_tomont 3s 2s +50%
mlk_poly_tomont_native 3s 3s +0%
mlk_polyvec_frombytes 3s 2s +50%
mlk_polyvec_permute_bitrev_to_custom 3s 2s +50%
mlk_polyvec_tomont 3s 3s +0%
mlk_rej_uniform 3s 2s +50%
mlk_scalar_compress_d5 3s 1s +200%
mlk_sha3_512 3s 1s +200%
mlk_shake128_absorb_once 3s 2s +50%
mlk_shake128_squeezeblocks 3s 2s +50%
mlk_shake256 3s 4s -25%
mlk_value_barrier_i32 3s 1s +200%
mlk_value_barrier_u32 3s 1s +200%
nttunpack_native_x86_64 3s 1s +200%
poly_frombytes_native_x86_64 3s 6s -50%
poly_invntt_tomont_native 3s 2s +50%
poly_mulcache_compute_native_aarch64 3s 3s +0%
poly_reduce_native_x86_64 3s 3s +0%
polyvec_basemul_acc_montgomery_cached_k3_native_x86_64 3s 3s +0%
rej_uniform_native_aarch64 3s 5s -40%
rej_uniform_native_x86_64 3s 3s +0%
intt_native_aarch64 2s 3s -33%
keccak_f1600_x1_native_aarch64 2s 4s -50%
keccak_f1600_x1_native_aarch64_v84a 2s 4s -50%
kem_check_sk 2s 3s -33%
kem_enc_derand 2s 1s +100%
kem_keypair 2s 1s +100%
kem_keypair_derand 2s 4s -50%
mlk_ct_cmov_zero 2s 1s +100%
mlk_ct_get_optblocker_i32 2s 3s -33%
mlk_ct_get_optblocker_u8 2s 3s -33%
mlk_ct_memcmp 2s 2s +0%
mlk_ct_sel_uint8 2s 5s -60%
mlk_keccakf1600_xor_bytes 2s 3s -33%
mlk_matvec_mul 2s 5s -60%
mlk_poly_cbd_eta2 2s 3s -33%
mlk_poly_compress_dv 2s 2s +0%
mlk_poly_decompress_du 2s 3s -33%
mlk_poly_invntt_tomont_c 2s 2s +0%
mlk_poly_mulcache_compute_native 2s 3s -33%
mlk_poly_reduce 2s 2s +0%
mlk_poly_tobytes_native 2s 7s -71%
mlk_polyvec_invntt_tomont 2s 2s +0%
mlk_polyvec_reduce 2s 3s -33%
mlk_polyvec_tobytes 2s 3s -33%
mlk_scalar_compress_d1 2s 1s +100%
mlk_scalar_compress_d10 2s 2s +0%
mlk_scalar_decompress_d11 2s 3s -33%
mlk_scalar_decompress_d4 2s 3s -33%
mlk_scalar_decompress_d5 2s 3s -33%
mlk_scalar_signed_to_unsigned_q 2s 2s +0%
mlk_sha3_256 2s 3s -33%
mlk_shake128x4_absorb_once 2s 4s -50%
mlk_shake128x4_squeezeblocks 2s 3s -33%
ntt_native_aarch64 2s 3s -33%
ntt_native_x86_64 2s 3s -33%
poly_mulcache_compute_native_x86_64 2s 2s +0%
poly_tobytes_native_x86_64 2s 3s -33%
poly_tomont_native_aarch64 2s 3s -33%
poly_tomont_native_x86_64 2s 4s -50%
polyvec_basemul_acc_montgomery_cached_k2_native_x86_64 2s 3s -33%
polyvec_basemul_acc_montgomery_cached_k3_native_aarch64 2s 2s +0%
polyvec_basemul_acc_montgomery_cached_k4_native_x86_64 2s 2s +0%
sys_check_capability 2s 2s +0%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid 1s 2s -50%
mlk_ct_cmask_neg_i16 1s 4s -75%
mlk_ct_cmask_nonzero_u8 1s 3s -67%
mlk_keccakf1600_extract_bytes 1s 3s -67%
mlk_keccakf1600x4_extract_bytes 1s 2s -50%
mlk_poly_frombytes_c 1s 3s -67%
mlk_poly_getnoise_eta2 1s 2s -50%
mlk_poly_mulcache_compute 1s 1s +0%
mlk_poly_ntt 1s 2s -50%
mlk_poly_tomont_c 1s 2s -50%
mlk_scalar_compress_d4 1s 2s -50%
mlk_scalar_decompress_d10 1s 2s -50%
poly_getnoise_eta1122_4x_native 1s 3s -67%
poly_reduce_native_aarch64 1s 3s -67%
poly_tobytes_native_aarch64 1s 2s -50%
polyvec_basemul_acc_montgomery_cached_k2_native_aarch64 1s 4s -75%
polyvec_basemul_acc_montgomery_cached_k4_native_aarch64 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.

Intel Xeon 4th gen (c7i)

Details
Benchmark suite Current: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 9682 cycles 9677 cycles 1.00
ML-KEM-512 encaps 11475 cycles 11476 cycles 1.00
ML-KEM-512 decaps 15374 cycles 15377 cycles 1.00
ML-KEM-768 keypair 16409 cycles 16401 cycles 1.00
ML-KEM-768 encaps 17833 cycles 17841 cycles 1.00
ML-KEM-768 decaps 23483 cycles 23478 cycles 1.00
ML-KEM-1024 keypair 22308 cycles 22387 cycles 1.00
ML-KEM-1024 encaps 24608 cycles 24660 cycles 1.00
ML-KEM-1024 decaps 32264 cycles 32524 cycles 0.99

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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 16707 cycles 16688 cycles 1.00
ML-KEM-512 encaps 18360 cycles 18355 cycles 1.00
ML-KEM-512 decaps 23724 cycles 23724 cycles 1
ML-KEM-768 keypair 28440 cycles 28460 cycles 1.00
ML-KEM-768 encaps 29786 cycles 29796 cycles 1.00
ML-KEM-768 decaps 37653 cycles 37637 cycles 1.00
ML-KEM-1024 keypair 41178 cycles 41221 cycles 1.00
ML-KEM-1024 encaps 43517 cycles 43491 cycles 1.00
ML-KEM-1024 decaps 53826 cycles 53972 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 28489 cycles 28478 cycles 1.00
ML-KEM-512 encaps 35837 cycles 35791 cycles 1.00
ML-KEM-512 decaps 45395 cycles 45426 cycles 1.00
ML-KEM-768 keypair 45944 cycles 45975 cycles 1.00
ML-KEM-768 encaps 56221 cycles 56333 cycles 1.00
ML-KEM-768 decaps 69406 cycles 69448 cycles 1.00
ML-KEM-1024 keypair 71696 cycles 71673 cycles 1.00
ML-KEM-1024 encaps 84467 cycles 84546 cycles 1.00
ML-KEM-1024 decaps 101594 cycles 101646 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)

Details
Benchmark suite Current: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 12031 cycles 12068 cycles 1.00
ML-KEM-512 encaps 13173 cycles 13187 cycles 1.00
ML-KEM-512 decaps 18051 cycles 18046 cycles 1.00
ML-KEM-768 keypair 20536 cycles 20539 cycles 1.00
ML-KEM-768 encaps 21536 cycles 21522 cycles 1.00
ML-KEM-768 decaps 28659 cycles 28651 cycles 1.00
ML-KEM-1024 keypair 27817 cycles 27844 cycles 1.00
ML-KEM-1024 encaps 30108 cycles 30078 cycles 1.00
ML-KEM-1024 decaps 39365 cycles 39348 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 16376 cycles 16370 cycles 1.00
ML-KEM-512 encaps 18694 cycles 18691 cycles 1.00
ML-KEM-512 decaps 25288 cycles 25287 cycles 1.00
ML-KEM-768 keypair 28869 cycles 28721 cycles 1.01
ML-KEM-768 encaps 29812 cycles 29774 cycles 1.00
ML-KEM-768 decaps 39302 cycles 39296 cycles 1.00
ML-KEM-1024 keypair 37698 cycles 37693 cycles 1.00
ML-KEM-1024 encaps 40683 cycles 40687 cycles 1.00
ML-KEM-1024 decaps 54430 cycles 54408 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

Details
Benchmark suite Current: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 17688 cycles 17705 cycles 1.00
ML-KEM-512 encaps 20696 cycles 20703 cycles 1.00
ML-KEM-512 decaps 27115 cycles 27134 cycles 1.00
ML-KEM-768 keypair 30011 cycles 30007 cycles 1.00
ML-KEM-768 encaps 32868 cycles 32800 cycles 1.00
ML-KEM-768 decaps 42068 cycles 42060 cycles 1.00
ML-KEM-1024 keypair 43909 cycles 43921 cycles 1.00
ML-KEM-1024 encaps 48937 cycles 48929 cycles 1.00
ML-KEM-1024 decaps 61484 cycles 61492 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-A72 (Raspberry Pi 4) benchmarks

Details
Benchmark suite Current: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 50861 cycles 50678 cycles 1.00
ML-KEM-512 encaps 58671 cycles 58487 cycles 1.00
ML-KEM-512 decaps 75019 cycles 75583 cycles 0.99
ML-KEM-768 keypair 86459 cycles 85899 cycles 1.01
ML-KEM-768 encaps 94396 cycles 94206 cycles 1.00
ML-KEM-768 decaps 117789 cycles 117678 cycles 1.00
ML-KEM-1024 keypair 130502 cycles 130831 cycles 1.00
ML-KEM-1024 encaps 142312 cycles 142700 cycles 1.00
ML-KEM-1024 decaps 173742 cycles 174993 cycles 0.99

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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 40486 cycles 40460 cycles 1.00
ML-KEM-512 encaps 48363 cycles 48311 cycles 1.00
ML-KEM-512 decaps 62480 cycles 62448 cycles 1.00
ML-KEM-768 keypair 63606 cycles 63563 cycles 1.00
ML-KEM-768 encaps 74772 cycles 74706 cycles 1.00
ML-KEM-768 decaps 93207 cycles 93714 cycles 0.99
ML-KEM-1024 keypair 94991 cycles 94935 cycles 1.00
ML-KEM-1024 encaps 109140 cycles 108977 cycles 1.00
ML-KEM-1024 decaps 131959 cycles 131836 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 18743 cycles 18765 cycles 1.00
ML-KEM-512 encaps 22035 cycles 22041 cycles 1.00
ML-KEM-512 decaps 29009 cycles 29039 cycles 1.00
ML-KEM-768 keypair 31809 cycles 31803 cycles 1.00
ML-KEM-768 encaps 35008 cycles 34950 cycles 1.00
ML-KEM-768 decaps 45037 cycles 45049 cycles 1.00
ML-KEM-1024 keypair 46364 cycles 46362 cycles 1.00
ML-KEM-1024 encaps 51753 cycles 51757 cycles 1.00
ML-KEM-1024 decaps 65256 cycles 65267 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 36517 cycles 36504 cycles 1.00
ML-KEM-512 encaps 43004 cycles 42998 cycles 1.00
ML-KEM-512 decaps 55683 cycles 55652 cycles 1.00
ML-KEM-768 keypair 58467 cycles 58471 cycles 1.00
ML-KEM-768 encaps 67423 cycles 67393 cycles 1.00
ML-KEM-768 decaps 84621 cycles 84354 cycles 1.00
ML-KEM-1024 keypair 88662 cycles 88681 cycles 1.00
ML-KEM-1024 encaps 98888 cycles 98925 cycles 1.00
ML-KEM-1024 decaps 120514 cycles 120537 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 35483 cycles 35502 cycles 1.00
ML-KEM-512 encaps 40240 cycles 40238 cycles 1.00
ML-KEM-512 decaps 51247 cycles 51243 cycles 1.00
ML-KEM-768 keypair 56776 cycles 56809 cycles 1.00
ML-KEM-768 encaps 64650 cycles 64725 cycles 1.00
ML-KEM-768 decaps 78974 cycles 79037 cycles 1.00
ML-KEM-1024 keypair 88039 cycles 88033 cycles 1.00
ML-KEM-1024 encaps 97181 cycles 97180 cycles 1.00
ML-KEM-1024 decaps 116111 cycles 116099 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 45830 cycles 45812 cycles 1.00
ML-KEM-512 encaps 54795 cycles 54782 cycles 1.00
ML-KEM-512 decaps 70332 cycles 70305 cycles 1.00
ML-KEM-768 keypair 73824 cycles 73801 cycles 1.00
ML-KEM-768 encaps 85316 cycles 85255 cycles 1.00
ML-KEM-768 decaps 106283 cycles 106271 cycles 1.00
ML-KEM-1024 keypair 111828 cycles 111786 cycles 1.00
ML-KEM-1024 encaps 125970 cycles 125915 cycles 1.00
ML-KEM-1024 decaps 151780 cycles 151735 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 39042 cycles 39062 cycles 1.00
ML-KEM-512 encaps 44640 cycles 44635 cycles 1.00
ML-KEM-512 decaps 56732 cycles 56712 cycles 1.00
ML-KEM-768 keypair 62384 cycles 62436 cycles 1.00
ML-KEM-768 encaps 70928 cycles 70943 cycles 1.00
ML-KEM-768 decaps 86863 cycles 86875 cycles 1.00
ML-KEM-1024 keypair 96270 cycles 96269 cycles 1.00
ML-KEM-1024 encaps 106340 cycles 106328 cycles 1.00
ML-KEM-1024 decaps 126782 cycles 126795 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 28338 cycles 28317 cycles 1.00
ML-KEM-512 encaps 34250 cycles 34300 cycles 1.00
ML-KEM-512 decaps 44487 cycles 44538 cycles 1.00
ML-KEM-768 keypair 47887 cycles 47847 cycles 1.00
ML-KEM-768 encaps 54223 cycles 54179 cycles 1.00
ML-KEM-768 decaps 68735 cycles 68665 cycles 1.00
ML-KEM-1024 keypair 70548 cycles 70577 cycles 1.00
ML-KEM-1024 encaps 79147 cycles 79180 cycles 1.00
ML-KEM-1024 decaps 98840 cycles 98900 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.

SpacemiT K1 8 (Banana Pi F3) benchmarks

Details
Benchmark suite Current: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 155138 cycles 155127 cycles 1.00
ML-KEM-512 encaps 163335 cycles 163266 cycles 1.00
ML-KEM-512 decaps 206594 cycles 206482 cycles 1.00
ML-KEM-768 keypair 249470 cycles 249530 cycles 1.00
ML-KEM-768 encaps 270250 cycles 270293 cycles 1.00
ML-KEM-768 decaps 332037 cycles 332121 cycles 1.00
ML-KEM-1024 keypair 395154 cycles 395107 cycles 1.00
ML-KEM-1024 encaps 422159 cycles 423803 cycles 1.00
ML-KEM-1024 decaps 506961 cycles 505540 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 59163 cycles 59178 cycles 1.00
ML-KEM-512 encaps 68636 cycles 68656 cycles 1.00
ML-KEM-512 decaps 87423 cycles 87403 cycles 1.00
ML-KEM-768 keypair 95844 cycles 95411 cycles 1.00
ML-KEM-768 encaps 109434 cycles 109348 cycles 1.00
ML-KEM-768 decaps 134307 cycles 134230 cycles 1.00
ML-KEM-1024 keypair 148525 cycles 147922 cycles 1.00
ML-KEM-1024 encaps 164450 cycles 163963 cycles 1.00
ML-KEM-1024 decaps 195730 cycles 195119 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 28331 cycles 28402 cycles 1.00
ML-KEM-512 encaps 34303 cycles 34330 cycles 1.00
ML-KEM-512 decaps 44529 cycles 44594 cycles 1.00
ML-KEM-768 keypair 47860 cycles 47799 cycles 1.00
ML-KEM-768 encaps 54127 cycles 54109 cycles 1.00
ML-KEM-768 decaps 68679 cycles 68614 cycles 1.00
ML-KEM-1024 keypair 70562 cycles 70522 cycles 1.00
ML-KEM-1024 encaps 79122 cycles 79092 cycles 1.00
ML-KEM-1024 decaps 98818 cycles 98772 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: caa0cd1 Previous: 4f13e12 Ratio
ML-KEM-512 keypair 59482 cycles 59513 cycles 1.00
ML-KEM-512 encaps 67276 cycles 67237 cycles 1.00
ML-KEM-512 decaps 85785 cycles 85783 cycles 1.00
ML-KEM-768 keypair 96998 cycles 96990 cycles 1.00
ML-KEM-768 encaps 110458 cycles 110613 cycles 1.00
ML-KEM-768 decaps 137300 cycles 137269 cycles 1.00
ML-KEM-1024 keypair 154015 cycles 154033 cycles 1.00
ML-KEM-1024 encaps 170601 cycles 170579 cycles 1.00
ML-KEM-1024 decaps 206582 cycles 206470 cycles 1.00

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

@mkannwischer mkannwischer marked this pull request as ready for review February 2, 2026 09:03
@mkannwischer mkannwischer requested a review from a team as a code owner February 2, 2026 09:03
Copy link
Copy Markdown
Contributor

@hanno-becker hanno-becker left a comment

Choose a reason for hiding this comment

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

I support this, but it is an API break, so we need a fall-back path, ideally with a warning being emitted when the now-deprecated defines are used.

@mkannwischer
Copy link
Copy Markdown
Contributor Author

Closing this as I don't care enough about it.

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

Labels

API-BREAK benchmark this PR should be benchmarked in CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consolidate backend MLK_USE_XXX flags indicating function support

3 participants