Skip to content

Commit

Permalink
Merge pull request #618 from pq-code-package/default_namespace
Browse files Browse the repository at this point in the history
Remove backend name from default namespace
  • Loading branch information
mkannwischer authored Jan 7, 2025
2 parents 8868f4e + 826fb60 commit 72c7fbf
Show file tree
Hide file tree
Showing 10 changed files with 90 additions and 97 deletions.
8 changes: 4 additions & 4 deletions cbmc/Makefile_params.common
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ endif
MLKEM_K ?= 3

ifeq ($(MLKEM_K),2)
MLKEM_NAMESPACE=PQCP_MLKEM_NATIVE_MLKEM512_C_
MLKEM_NAMESPACE=PQCP_MLKEM_NATIVE_MLKEM512_
else ifeq ($(MLKEM_K),3)
MLKEM_NAMESPACE=PQCP_MLKEM_NATIVE_MLKEM768_C_
MLKEM_NAMESPACE=PQCP_MLKEM_NATIVE_MLKEM768_
else ifeq ($(MLKEM_K),4)
MLKEM_NAMESPACE=PQCP_MLKEM_NATIVE_MLKEM1024_C_
MLKEM_NAMESPACE=PQCP_MLKEM_NATIVE_MLKEM1024_
else
$(error Invalid value of MLKEM_K)
endif

FIPS202_NAMESPACE=PQCP_MLKEM_NATIVE_FIPS202_C_
FIPS202_NAMESPACE=PQCP_MLKEM_NATIVE_FIPS202_
110 changes: 55 additions & 55 deletions examples/monolithic_build/mlkem_native_all.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,32 +224,42 @@
#undef MLKEM_NATIVE_COMMON_H
#endif

/* mlkem/common.h:28 */
#if defined(MLKEM_NATIVE_ARITH_BACKEND_NAME)
#undef MLKEM_NATIVE_ARITH_BACKEND_NAME
#endif

/* mlkem/common.h:32 */
#if defined(MLKEM_NATIVE_FIPS202_BACKEND_NAME)
#undef MLKEM_NATIVE_FIPS202_BACKEND_NAME
#endif

/* mlkem/common.h:39 */
#if defined(MLKEM_ASM_NAMESPACE)
#undef MLKEM_ASM_NAMESPACE
#endif

/* mlkem/common.h:33 */
/* mlkem/common.h:40 */
#if defined(FIPS202_ASM_NAMESPACE)
#undef FIPS202_ASM_NAMESPACE
#endif

/* mlkem/common.h:35 */
/* mlkem/common.h:42 */
#if defined(_PREFIX_UNDERSCORE)
#undef _PREFIX_UNDERSCORE
#endif

/* mlkem/common.h:36 */
/* mlkem/common.h:43 */
#if defined(PREFIX_UNDERSCORE)
#undef PREFIX_UNDERSCORE
#endif

/* mlkem/common.h:37 */
/* mlkem/common.h:44 */
#if defined(MLKEM_ASM_NAMESPACE)
#undef MLKEM_ASM_NAMESPACE
#endif

/* mlkem/common.h:38 */
/* mlkem/common.h:45 */
#if defined(FIPS202_ASM_NAMESPACE)
#undef FIPS202_ASM_NAMESPACE
#endif
Expand Down Expand Up @@ -599,17 +609,17 @@
#undef shake256x4
#endif

/* mlkem/fips202/keccakf1600.c:21 */
/* mlkem/fips202/keccakf1600.c:19 */
#if defined(NROUNDS)
#undef NROUNDS
#endif

/* mlkem/fips202/keccakf1600.c:22 */
/* mlkem/fips202/keccakf1600.c:20 */
#if defined(ROL)
#undef ROL
#endif

/* mlkem/fips202/keccakf1600.c:28 */
/* mlkem/fips202/keccakf1600.c:26 */
#if defined(KeccakF_RoundConstants)
#undef KeccakF_RoundConstants
#endif
Expand Down Expand Up @@ -1274,57 +1284,47 @@
#undef MLKEM_NATIVE_NAMESPACE_H
#endif

/* mlkem/namespace.h:8 */
#if defined(MLKEM_NATIVE_ARITH_BACKEND_NAME)
#undef MLKEM_NATIVE_ARITH_BACKEND_NAME
#endif

/* mlkem/namespace.h:13 */
/* mlkem/namespace.h:9 */
#if defined(MLKEM_PARAM_NAME)
#undef MLKEM_PARAM_NAME
#endif

/* mlkem/namespace.h:15 */
/* mlkem/namespace.h:11 */
#if defined(MLKEM_PARAM_NAME)
#undef MLKEM_PARAM_NAME
#endif

/* mlkem/namespace.h:17 */
/* mlkem/namespace.h:13 */
#if defined(MLKEM_PARAM_NAME)
#undef MLKEM_PARAM_NAME
#endif

/* mlkem/namespace.h:22 */
/* mlkem/namespace.h:18 */
#if defined(___MLKEM_DEFAULT_NAMESPACE)
#undef ___MLKEM_DEFAULT_NAMESPACE
#endif

/* mlkem/namespace.h:23 */
/* mlkem/namespace.h:19 */
#if defined(__MLKEM_DEFAULT_NAMESPACE)
#undef __MLKEM_DEFAULT_NAMESPACE
#endif

/* mlkem/namespace.h:30 */
/* mlkem/namespace.h:26 */
#if defined(MLKEM_DEFAULT_NAMESPACE)
#undef MLKEM_DEFAULT_NAMESPACE
#endif

/* mlkem/namespace.h:35 */
#if defined(MLKEM_NATIVE_FIPS202_BACKEND_NAME)
#undef MLKEM_NATIVE_FIPS202_BACKEND_NAME
#endif

/* mlkem/namespace.h:38 */
/* mlkem/namespace.h:29 */
#if defined(___FIPS202_DEFAULT_NAMESPACE)
#undef ___FIPS202_DEFAULT_NAMESPACE
#endif

/* mlkem/namespace.h:39 */
/* mlkem/namespace.h:30 */
#if defined(__FIPS202_DEFAULT_NAMESPACE)
#undef __FIPS202_DEFAULT_NAMESPACE
#endif

/* mlkem/namespace.h:46 */
/* mlkem/namespace.h:36 */
#if defined(FIPS202_DEFAULT_NAMESPACE)
#undef FIPS202_DEFAULT_NAMESPACE
#endif
Expand Down Expand Up @@ -2059,142 +2059,142 @@
#undef PARAMS_H
#endif

/* mlkem/params.h:13 */
/* mlkem/params.h:17 */
#if defined(MLKEM_N)
#undef MLKEM_N
#endif

/* mlkem/params.h:14 */
/* mlkem/params.h:18 */
#if defined(MLKEM_Q)
#undef MLKEM_Q
#endif

/* mlkem/params.h:15 */
/* mlkem/params.h:19 */
#if defined(UINT12_MAX)
#undef UINT12_MAX
#endif

/* mlkem/params.h:17 */
/* mlkem/params.h:21 */
#if defined(MLKEM_SYMBYTES)
#undef MLKEM_SYMBYTES
#endif

/* mlkem/params.h:18 */
/* mlkem/params.h:22 */
#if defined(MLKEM_SSBYTES)
#undef MLKEM_SSBYTES
#endif

/* mlkem/params.h:20 */
/* mlkem/params.h:24 */
#if defined(MLKEM_POLYBYTES)
#undef MLKEM_POLYBYTES
#endif

/* mlkem/params.h:21 */
/* mlkem/params.h:25 */
#if defined(MLKEM_POLYVECBYTES)
#undef MLKEM_POLYVECBYTES
#endif

/* mlkem/params.h:24 */
/* mlkem/params.h:28 */
#if defined(MLKEM_ETA1)
#undef MLKEM_ETA1
#endif

/* mlkem/params.h:25 */
/* mlkem/params.h:29 */
#if defined(MLKEM_POLYCOMPRESSEDBYTES_DV)
#undef MLKEM_POLYCOMPRESSEDBYTES_DV
#endif

/* mlkem/params.h:26 */
/* mlkem/params.h:30 */
#if defined(MLKEM_POLYCOMPRESSEDBYTES_DU)
#undef MLKEM_POLYCOMPRESSEDBYTES_DU
#endif

/* mlkem/params.h:27 */
/* mlkem/params.h:31 */
#if defined(MLKEM_POLYVECCOMPRESSEDBYTES_DU)
#undef MLKEM_POLYVECCOMPRESSEDBYTES_DU
#endif

/* mlkem/params.h:29 */
/* mlkem/params.h:33 */
#if defined(MLKEM_ETA1)
#undef MLKEM_ETA1
#endif

/* mlkem/params.h:30 */
/* mlkem/params.h:34 */
#if defined(MLKEM_POLYCOMPRESSEDBYTES_DV)
#undef MLKEM_POLYCOMPRESSEDBYTES_DV
#endif

/* mlkem/params.h:31 */
/* mlkem/params.h:35 */
#if defined(MLKEM_POLYCOMPRESSEDBYTES_DU)
#undef MLKEM_POLYCOMPRESSEDBYTES_DU
#endif

/* mlkem/params.h:32 */
/* mlkem/params.h:36 */
#if defined(MLKEM_POLYVECCOMPRESSEDBYTES_DU)
#undef MLKEM_POLYVECCOMPRESSEDBYTES_DU
#endif

/* mlkem/params.h:34 */
/* mlkem/params.h:38 */
#if defined(MLKEM_ETA1)
#undef MLKEM_ETA1
#endif

/* mlkem/params.h:35 */
/* mlkem/params.h:39 */
#if defined(MLKEM_POLYCOMPRESSEDBYTES_DV)
#undef MLKEM_POLYCOMPRESSEDBYTES_DV
#endif

/* mlkem/params.h:36 */
/* mlkem/params.h:40 */
#if defined(MLKEM_POLYCOMPRESSEDBYTES_DU)
#undef MLKEM_POLYCOMPRESSEDBYTES_DU
#endif

/* mlkem/params.h:37 */
/* mlkem/params.h:41 */
#if defined(MLKEM_POLYVECCOMPRESSEDBYTES_DU)
#undef MLKEM_POLYVECCOMPRESSEDBYTES_DU
#endif

/* mlkem/params.h:40 */
/* mlkem/params.h:44 */
#if defined(MLKEM_ETA2)
#undef MLKEM_ETA2
#endif

/* mlkem/params.h:42 */
/* mlkem/params.h:46 */
#if defined(MLKEM_INDCPA_MSGBYTES)
#undef MLKEM_INDCPA_MSGBYTES
#endif

/* mlkem/params.h:43 */
/* mlkem/params.h:47 */
#if defined(MLKEM_INDCPA_PUBLICKEYBYTES)
#undef MLKEM_INDCPA_PUBLICKEYBYTES
#endif

/* mlkem/params.h:44 */
/* mlkem/params.h:48 */
#if defined(MLKEM_INDCPA_SECRETKEYBYTES)
#undef MLKEM_INDCPA_SECRETKEYBYTES
#endif

/* mlkem/params.h:45 */
/* mlkem/params.h:49 */
#if defined(MLKEM_INDCPA_BYTES)
#undef MLKEM_INDCPA_BYTES
#endif

/* mlkem/params.h:48 */
/* mlkem/params.h:52 */
#if defined(MLKEM_PUBLICKEYBYTES)
#undef MLKEM_PUBLICKEYBYTES
#endif

/* mlkem/params.h:50 */
/* mlkem/params.h:54 */
#if defined(MLKEM_SECRETKEYBYTES)
#undef MLKEM_SECRETKEYBYTES
#endif

/* mlkem/params.h:53 */
/* mlkem/params.h:57 */
#if defined(MLKEM_CIPHERTEXTBYTES)
#undef MLKEM_CIPHERTEXTBYTES
#endif

/* mlkem/params.h:55 */
/* mlkem/params.h:59 */
#if defined(KECCAK_WAY)
#undef KECCAK_WAY
#endif
Expand Down
13 changes: 10 additions & 3 deletions mlkem/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@

#if defined(MLKEM_NATIVE_CONFIG_FILE)
#include MLKEM_NATIVE_CONFIG_FILE
#else
#include "config.h"
#endif /* MLKEM_NATIVE_CONFIG_FILE */

#include "namespace.h"
#include "params.h"
#include "sys.h"

Expand All @@ -22,9 +25,13 @@
#endif
#endif

/* This must come after the inclusion of the backend metadata
* since the backend choice may be part of the namespace. */
#include "namespace.h"
#if !defined(MLKEM_NATIVE_ARITH_BACKEND_NAME)
#define MLKEM_NATIVE_ARITH_BACKEND_NAME C
#endif

#if !defined(MLKEM_NATIVE_FIPS202_BACKEND_NAME)
#define MLKEM_NATIVE_FIPS202_BACKEND_NAME C
#endif

/* On Apple platforms, we need to emit leading underscore
* in front of assembly symbols. We thus introducee a separate
Expand Down
6 changes: 2 additions & 4 deletions mlkem/fips202/keccakf1600.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,12 @@
* from https://twitter.com/tweetfips202
* by Gilles Van Assche, Daniel J. Bernstein, and Peter Schwabe */

#include "keccakf1600.h"
#include <assert.h>
#include <stdint.h>

#include "config.h"
#include "fips202_backend.h"

#include "cbmc.h"
#include "fips202_backend.h"
#include "keccakf1600.h"

#define NROUNDS 24
#define ROL(a, offset) ((a << offset) ^ (a >> (64 - offset)))
Expand Down
2 changes: 1 addition & 1 deletion mlkem/kem.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#include <stdint.h>
#include "cbmc.h"
#include "params.h"
#include "common.h"

#define CRYPTO_SECRETKEYBYTES MLKEM_SECRETKEYBYTES
#define CRYPTO_PUBLICKEYBYTES MLKEM_PUBLICKEYBYTES
Expand Down
Loading

18 comments on commit 72c7fbf

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 29065 cycles 29058 cycles 1.00
ML-KEM-512 encaps 35384 cycles 35382 cycles 1.00
ML-KEM-512 decaps 45863 cycles 45860 cycles 1.00
ML-KEM-768 keypair 49394 cycles 49389 cycles 1.00
ML-KEM-768 encaps 55568 cycles 55565 cycles 1.00
ML-KEM-768 decaps 70310 cycles 70304 cycles 1.00
ML-KEM-1024 keypair 72045 cycles 72051 cycles 1.00
ML-KEM-1024 encaps 80820 cycles 80826 cycles 1.00
ML-KEM-1024 decaps 100694 cycles 100699 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 18129 cycles 18137 cycles 1.00
ML-KEM-512 encaps 23208 cycles 23204 cycles 1.00
ML-KEM-512 decaps 30503 cycles 30535 cycles 1.00
ML-KEM-768 keypair 31079 cycles 31111 cycles 1.00
ML-KEM-768 encaps 34163 cycles 34183 cycles 1.00
ML-KEM-768 decaps 44743 cycles 44761 cycles 1.00
ML-KEM-1024 keypair 44760 cycles 44622 cycles 1.00
ML-KEM-1024 encaps 49898 cycles 49946 cycles 1.00
ML-KEM-1024 decaps 64379 cycles 64347 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 20337 cycles 20340 cycles 1.00
ML-KEM-512 encaps 26997 cycles 27013 cycles 1.00
ML-KEM-512 decaps 35795 cycles 35811 cycles 1.00
ML-KEM-768 keypair 34886 cycles 34884 cycles 1.00
ML-KEM-768 encaps 38125 cycles 38143 cycles 1.00
ML-KEM-768 decaps 50941 cycles 50962 cycles 1.00
ML-KEM-1024 keypair 47942 cycles 47941 cycles 1.00
ML-KEM-1024 encaps 54096 cycles 54104 cycles 1.00
ML-KEM-1024 decaps 71608 cycles 71632 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

Choose a reason for hiding this comment

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

Graviton4

Benchmark suite Current: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 18136 cycles 18131 cycles 1.00
ML-KEM-512 encaps 22163 cycles 22163 cycles 1
ML-KEM-512 decaps 28770 cycles 28770 cycles 1
ML-KEM-768 keypair 30577 cycles 30568 cycles 1.00
ML-KEM-768 encaps 33606 cycles 33617 cycles 1.00
ML-KEM-768 decaps 43134 cycles 43141 cycles 1.00
ML-KEM-1024 keypair 44198 cycles 44192 cycles 1.00
ML-KEM-1024 encaps 49660 cycles 49654 cycles 1.00
ML-KEM-1024 decaps 62651 cycles 62650 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

Choose a reason for hiding this comment

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

Graviton3

Benchmark suite Current: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 18968 cycles 18965 cycles 1.00
ML-KEM-512 encaps 23584 cycles 23587 cycles 1.00
ML-KEM-512 decaps 30664 cycles 30670 cycles 1.00
ML-KEM-768 keypair 32294 cycles 32289 cycles 1.00
ML-KEM-768 encaps 35889 cycles 35876 cycles 1.00
ML-KEM-768 decaps 46017 cycles 46041 cycles 1.00
ML-KEM-1024 keypair 46612 cycles 46615 cycles 1.00
ML-KEM-1024 encaps 52448 cycles 52447 cycles 1.00
ML-KEM-1024 decaps 66243 cycles 66246 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 52168 cycles 52248 cycles 1.00
ML-KEM-512 encaps 65787 cycles 65810 cycles 1.00
ML-KEM-512 decaps 88421 cycles 88449 cycles 1.00
ML-KEM-768 keypair 84783 cycles 84761 cycles 1.00
ML-KEM-768 encaps 101500 cycles 101508 cycles 1.00
ML-KEM-768 decaps 132116 cycles 132101 cycles 1.00
ML-KEM-1024 keypair 124158 cycles 124061 cycles 1.00
ML-KEM-1024 encaps 145832 cycles 145681 cycles 1.00
ML-KEM-1024 decaps 183782 cycles 183669 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 13519 cycles 13503 cycles 1.00
ML-KEM-512 encaps 17286 cycles 17257 cycles 1.00
ML-KEM-512 decaps 22812 cycles 22970 cycles 0.99
ML-KEM-768 keypair 22697 cycles 22552 cycles 1.01
ML-KEM-768 encaps 24526 cycles 24486 cycles 1.00
ML-KEM-768 decaps 32662 cycles 32444 cycles 1.01
ML-KEM-1024 keypair 31411 cycles 31399 cycles 1.00
ML-KEM-1024 encaps 34912 cycles 34899 cycles 1.00
ML-KEM-1024 decaps 45842 cycles 45814 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 56594 cycles 56645 cycles 1.00
ML-KEM-512 encaps 69458 cycles 69522 cycles 1.00
ML-KEM-512 decaps 91365 cycles 91463 cycles 1.00
ML-KEM-768 keypair 91832 cycles 91884 cycles 1.00
ML-KEM-768 encaps 107793 cycles 107837 cycles 1.00
ML-KEM-768 decaps 136297 cycles 136365 cycles 1.00
ML-KEM-1024 keypair 134868 cycles 134815 cycles 1.00
ML-KEM-1024 encaps 155295 cycles 155385 cycles 1.00
ML-KEM-1024 decaps 191608 cycles 191590 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 41962 cycles 41964 cycles 1.00
ML-KEM-512 encaps 50106 cycles 50110 cycles 1.00
ML-KEM-512 decaps 66078 cycles 66079 cycles 1.00
ML-KEM-768 keypair 69194 cycles 69189 cycles 1.00
ML-KEM-768 encaps 79961 cycles 79959 cycles 1.00
ML-KEM-768 decaps 101146 cycles 101145 cycles 1.00
ML-KEM-1024 keypair 102487 cycles 102475 cycles 1.00
ML-KEM-1024 encaps 117436 cycles 117437 cycles 1.00
ML-KEM-1024 decaps 143370 cycles 143379 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

Choose a reason for hiding this comment

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

Graviton2

Benchmark suite Current: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 29058 cycles 29190 cycles 1.00
ML-KEM-512 encaps 35379 cycles 35531 cycles 1.00
ML-KEM-512 decaps 45896 cycles 46128 cycles 0.99
ML-KEM-768 keypair 49420 cycles 49417 cycles 1.00
ML-KEM-768 encaps 55570 cycles 55570 cycles 1
ML-KEM-768 decaps 70317 cycles 70317 cycles 1
ML-KEM-1024 keypair 72051 cycles 72050 cycles 1.00
ML-KEM-1024 encaps 80864 cycles 80851 cycles 1.00
ML-KEM-1024 decaps 100725 cycles 100731 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 58355 cycles 58362 cycles 1.00
ML-KEM-512 encaps 65747 cycles 65783 cycles 1.00
ML-KEM-512 decaps 84550 cycles 84571 cycles 1.00
ML-KEM-768 keypair 98962 cycles 99084 cycles 1.00
ML-KEM-768 encaps 110404 cycles 110269 cycles 1.00
ML-KEM-768 decaps 136717 cycles 137275 cycles 1.00
ML-KEM-1024 keypair 150141 cycles 150077 cycles 1.00
ML-KEM-1024 encaps 166373 cycles 166232 cycles 1.00
ML-KEM-1024 decaps 202338 cycles 202211 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 34830 cycles 34901 cycles 1.00
ML-KEM-512 encaps 45075 cycles 45102 cycles 1.00
ML-KEM-512 decaps 59019 cycles 58999 cycles 1.00
ML-KEM-768 keypair 59246 cycles 59232 cycles 1.00
ML-KEM-768 encaps 71729 cycles 71909 cycles 1.00
ML-KEM-768 decaps 89212 cycles 89376 cycles 1.00
ML-KEM-1024 keypair 87422 cycles 87492 cycles 1.00
ML-KEM-1024 encaps 104484 cycles 104562 cycles 1.00
ML-KEM-1024 decaps 127539 cycles 127571 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 15068 cycles 15062 cycles 1.00
ML-KEM-512 encaps 19668 cycles 19683 cycles 1.00
ML-KEM-512 decaps 26304 cycles 26322 cycles 1.00
ML-KEM-768 keypair 25625 cycles 25620 cycles 1.00
ML-KEM-768 encaps 28172 cycles 28260 cycles 1.00
ML-KEM-768 decaps 37965 cycles 38044 cycles 1.00
ML-KEM-1024 keypair 35561 cycles 35650 cycles 1.00
ML-KEM-1024 encaps 41089 cycles 41064 cycles 1.00
ML-KEM-1024 decaps 54489 cycles 54484 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 45387 cycles 45389 cycles 1.00
ML-KEM-512 encaps 54245 cycles 54245 cycles 1
ML-KEM-512 decaps 71154 cycles 71152 cycles 1.00
ML-KEM-768 keypair 74899 cycles 74900 cycles 1.00
ML-KEM-768 encaps 86138 cycles 86137 cycles 1.00
ML-KEM-768 decaps 108646 cycles 108645 cycles 1.00
ML-KEM-1024 keypair 111096 cycles 111111 cycles 1.00
ML-KEM-1024 encaps 125933 cycles 125936 cycles 1.00
ML-KEM-1024 decaps 154639 cycles 154640 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 45723 cycles 45725 cycles 1.00
ML-KEM-512 encaps 56854 cycles 56854 cycles 1
ML-KEM-512 decaps 76260 cycles 76263 cycles 1.00
ML-KEM-768 keypair 74519 cycles 74474 cycles 1.00
ML-KEM-768 encaps 88617 cycles 88525 cycles 1.00
ML-KEM-768 decaps 114415 cycles 114364 cycles 1.00
ML-KEM-1024 keypair 109401 cycles 109435 cycles 1.00
ML-KEM-1024 encaps 127263 cycles 127282 cycles 1.00
ML-KEM-1024 decaps 159983 cycles 159919 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 71203 cycles 71212 cycles 1.00
ML-KEM-512 encaps 85154 cycles 85156 cycles 1.00
ML-KEM-512 decaps 112559 cycles 112560 cycles 1.00
ML-KEM-768 keypair 117704 cycles 117664 cycles 1.00
ML-KEM-768 encaps 135306 cycles 135284 cycles 1.00
ML-KEM-768 decaps 172141 cycles 172110 cycles 1.00
ML-KEM-1024 keypair 175144 cycles 175153 cycles 1.00
ML-KEM-1024 encaps 197223 cycles 197217 cycles 1.00
ML-KEM-1024 decaps 243473 cycles 243474 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

Choose a reason for hiding this comment

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

Bananapi bpi-f3 benchmarks

Benchmark suite Current: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 335241 cycles 335147 cycles 1.00
ML-KEM-512 encaps 445860 cycles 445926 cycles 1.00
ML-KEM-512 decaps 594142 cycles 594027 cycles 1.00
ML-KEM-768 keypair 556545 cycles 556494 cycles 1.00
ML-KEM-768 encaps 698406 cycles 698473 cycles 1.00
ML-KEM-768 decaps 890314 cycles 891120 cycles 1.00
ML-KEM-1024 keypair 821895 cycles 822000 cycles 1.00
ML-KEM-1024 encaps 999679 cycles 999007 cycles 1.00
ML-KEM-1024 decaps 1230565 cycles 1231313 cycles 1.00

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

@oqs-bot
Copy link

@oqs-bot oqs-bot commented on 72c7fbf Jan 7, 2025

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: 72c7fbf Previous: 8868f4e Ratio
ML-KEM-512 keypair 51561 cycles 51736 cycles 1.00
ML-KEM-512 encaps 57937 cycles 58329 cycles 0.99
ML-KEM-512 decaps 74329 cycles 74419 cycles 1.00
ML-KEM-768 keypair 87765 cycles 87917 cycles 1.00
ML-KEM-768 encaps 95977 cycles 96403 cycles 1.00
ML-KEM-768 decaps 119289 cycles 119282 cycles 1.00
ML-KEM-1024 keypair 131844 cycles 131698 cycles 1.00
ML-KEM-1024 encaps 145324 cycles 145336 cycles 1.00
ML-KEM-1024 decaps 175869 cycles 175844 cycles 1.00

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

Please sign in to comment.