From fe5f6d6aa7e2d6def4b6105bac2710ae58f879c8 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Thu, 21 May 2026 21:50:15 +0200 Subject: [PATCH 1/3] Update docs --- ref_app/src/app/benchmark/readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ref_app/src/app/benchmark/readme.md b/ref_app/src/app/benchmark/readme.md index 8bcaf463a..f46cba07a 100644 --- a/ref_app/src/app/benchmark/readme.md +++ b/ref_app/src/app/benchmark/readme.md @@ -62,7 +62,8 @@ with the compiler definition `APP_BENCHMARK_STANDALONE_MAIN`. - ![app_benchmark_boost_multiprecision_cbrt.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_boost_multiprecision_cbrt.cpp) via `#define APP_BENCHMARK_TYPE_BOOST_MULTIPRECISION_CBRT` uses [Boost.Multiprecision](https://www.boost.org/doc/libs/1_81_0/libs/multiprecision/doc/html/index.html) in combination with [Boost.Math](https://www.boost.org/doc/libs/1_81_0/libs/math/doc/html/index.html) to compute $101$ decimal digits of a cube root function. - ![app_benchmark_hash_sha256.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_hash_sha256.cpp) via `#define APP_BENCHMARK_TYPE_HASH_SHA256` computes a $256$-bit hash checksum of a short $3$-byte character-based message. - ![app_benchmark_ecc_generic_ecc.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_ecc_generic_ecc.cpp) via `#define APP_BENCHMARK_TYPE_ECC_GENERIC_ECC` provides an intuitive view on elliptic-curve algebra, depicting a well-known $256$-bit cryptographic key-gen/sign/verify method. This benchmark is actually too lengthy to run on most of our embedded targets (other than BBB or RPI-zero) and adaptions of OS/watchdog are required in order to run this benchmark on the metal. - - ![app_benchmark_non_std_decimal.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_non_std_decimal.cpp) via `#define APP_BENCHMARK_TYPE_NON_STD_DECIMAL` carries out a $64$-bit decimal-floating-point calculation of the exponential function using the contemporary [cpplliance/decimal](https://github.com/cppalliance/decimal) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. + - ![app_benchmark_non_std_decimal.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_non_std_decimal.cpp) via `#define APP_BENCHMARK_TYPE_NON_STD_DECIMAL` carries out a $64$-bit decimal-floating-point calculation of the exponential function using the contemporary [boostorg/decimal](https://github.com/boostorg/decimal) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. + - ![app_benchmark_std_big_int.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_std_big_int_.cpp) via `#define APP_BENCHMARK_TYPE_STD_BIG_INT` bencheses big multiprecision integers performing $2048{\times}2048$ bit multiplication with a $4096$-bit result using the [eisenwave/std-big-int](https://github.com/eisenwave/std-big-int) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. ## Performance classes From d48ab4c52785f000f4509dfd2c5fdf52c6d7c4e0 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Thu, 21 May 2026 21:52:33 +0200 Subject: [PATCH 2/3] Update docs again --- ref_app/src/app/benchmark/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ref_app/src/app/benchmark/readme.md b/ref_app/src/app/benchmark/readme.md index f46cba07a..2ec8e77b1 100644 --- a/ref_app/src/app/benchmark/readme.md +++ b/ref_app/src/app/benchmark/readme.md @@ -63,7 +63,7 @@ with the compiler definition `APP_BENCHMARK_STANDALONE_MAIN`. - ![app_benchmark_hash_sha256.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_hash_sha256.cpp) via `#define APP_BENCHMARK_TYPE_HASH_SHA256` computes a $256$-bit hash checksum of a short $3$-byte character-based message. - ![app_benchmark_ecc_generic_ecc.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_ecc_generic_ecc.cpp) via `#define APP_BENCHMARK_TYPE_ECC_GENERIC_ECC` provides an intuitive view on elliptic-curve algebra, depicting a well-known $256$-bit cryptographic key-gen/sign/verify method. This benchmark is actually too lengthy to run on most of our embedded targets (other than BBB or RPI-zero) and adaptions of OS/watchdog are required in order to run this benchmark on the metal. - ![app_benchmark_non_std_decimal.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_non_std_decimal.cpp) via `#define APP_BENCHMARK_TYPE_NON_STD_DECIMAL` carries out a $64$-bit decimal-floating-point calculation of the exponential function using the contemporary [boostorg/decimal](https://github.com/boostorg/decimal) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. - - ![app_benchmark_std_big_int.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_std_big_int_.cpp) via `#define APP_BENCHMARK_TYPE_STD_BIG_INT` bencheses big multiprecision integers performing $2048{\times}2048$ bit multiplication with a $4096$-bit result using the [eisenwave/std-big-int](https://github.com/eisenwave/std-big-int) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. + - ![app_benchmark_std_big_int.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_std_big_int_.cpp) via `#define APP_BENCHMARK_TYPE_STD_BIG_INT` benchmarks big multiprecision integers performing $2048{\times}2048$ bit multiplication with a $4096$-bit result. It uses the [eisenwave/std-big-int](https://github.com/eisenwave/std-big-int) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. ## Performance classes From 699e310edc5da715c1a3c1ad3c46e144a2adf474 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Thu, 21 May 2026 21:54:20 +0200 Subject: [PATCH 3/3] Update docs yet again --- ref_app/src/app/benchmark/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ref_app/src/app/benchmark/readme.md b/ref_app/src/app/benchmark/readme.md index 2ec8e77b1..f4241a413 100644 --- a/ref_app/src/app/benchmark/readme.md +++ b/ref_app/src/app/benchmark/readme.md @@ -62,7 +62,7 @@ with the compiler definition `APP_BENCHMARK_STANDALONE_MAIN`. - ![app_benchmark_boost_multiprecision_cbrt.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_boost_multiprecision_cbrt.cpp) via `#define APP_BENCHMARK_TYPE_BOOST_MULTIPRECISION_CBRT` uses [Boost.Multiprecision](https://www.boost.org/doc/libs/1_81_0/libs/multiprecision/doc/html/index.html) in combination with [Boost.Math](https://www.boost.org/doc/libs/1_81_0/libs/math/doc/html/index.html) to compute $101$ decimal digits of a cube root function. - ![app_benchmark_hash_sha256.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_hash_sha256.cpp) via `#define APP_BENCHMARK_TYPE_HASH_SHA256` computes a $256$-bit hash checksum of a short $3$-byte character-based message. - ![app_benchmark_ecc_generic_ecc.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_ecc_generic_ecc.cpp) via `#define APP_BENCHMARK_TYPE_ECC_GENERIC_ECC` provides an intuitive view on elliptic-curve algebra, depicting a well-known $256$-bit cryptographic key-gen/sign/verify method. This benchmark is actually too lengthy to run on most of our embedded targets (other than BBB or RPI-zero) and adaptions of OS/watchdog are required in order to run this benchmark on the metal. - - ![app_benchmark_non_std_decimal.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_non_std_decimal.cpp) via `#define APP_BENCHMARK_TYPE_NON_STD_DECIMAL` carries out a $64$-bit decimal-floating-point calculation of the exponential function using the contemporary [boostorg/decimal](https://github.com/boostorg/decimal) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. + - ![app_benchmark_non_std_decimal.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_non_std_decimal.cpp) via `#define APP_BENCHMARK_TYPE_NON_STD_DECIMAL` carries out a $64$-bit decimal-floating-point calculation of the exponential function using the contemporary [Boost.Decimal](https://github.com/boostorg/decimal) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. - ![app_benchmark_std_big_int.cpp](https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/app/benchmark/app_benchmark_std_big_int_.cpp) via `#define APP_BENCHMARK_TYPE_STD_BIG_INT` benchmarks big multiprecision integers performing $2048{\times}2048$ bit multiplication with a $4096$-bit result. It uses the [eisenwave/std-big-int](https://github.com/eisenwave/std-big-int) library. This benchmark does not, at the moment, run on the AVR target, but requires a larger microcontroller such as one of the $32$-bit ARM(R) devices. ## Performance classes