Sfoglia il codice sorgente

Update benchmarks

* add option to run benchmarks with and w/o AAD
   This adds the possibility to benchmark AES-GCM and AES-CCM both with and
   w/o AAD, with the option to also run both.
   The default behavior when wolfSSL provides the `main()` function is
   unchanged.
   The default behavior when wolfSSL doesn't provide the `main()` function has
   been changed to "run both benchmarks - with and w/o ADD".
* add option to run benchmarks against 4096bit RSA&DH keys
* remove `BENCH_SIZE` macro from benchmark.c
* pre-define benchmark sizes in a single place, before it had to be done in two places
* improve `benchmark_static_init()`
   - static variable doesn't need to be in global scope
   - add option to force re-init
   - add more static variables to be reset
* add `-blocks` option to benchmarks
* expose benchmark `main()` as `wolfcrypt_benchmark_main()`
* fix benchmark `-?` output
* use correct SI/Binary prefix in benchmarks
* use a separate column per detail in CSV output of benchmark
* add `-aad_size` option to benchmark
* don't always print symmetric CSV headers
* always use M[i]B/s when output format is CSV
* Versal specific patches for benchmarks
   This also removes the default define for `COUNTS_PER_SECOND` for Xilinx
   targets, since I prefer to have a build failure over wrongly calculated
   output.

Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
Steffen Jaeckel 2 anni fa
parent
commit
f24cf38f01
2 ha cambiato i file con 241 aggiunte e 141 eliminazioni
  1. 237 140
      wolfcrypt/benchmark/benchmark.c
  2. 4 1
      wolfcrypt/benchmark/benchmark.h

File diff suppressed because it is too large
+ 237 - 140
wolfcrypt/benchmark/benchmark.c


+ 4 - 1
wolfcrypt/benchmark/benchmark.h

@@ -36,6 +36,9 @@ THREAD_RETURN WOLFSSL_THREAD benchmark_test(void* args);
 #else
 int benchmark_test(void *args);
 #endif
+#ifndef NO_MAIN_DRIVER
+int wolfcrypt_benchmark_main(int argc, char** argv);
+#endif
 
 /* individual benchmarks */
 int  benchmark_init(void);
@@ -49,7 +52,7 @@ void bench_chacha20_poly1305_aead(void);
 void bench_aescbc(int useDeviceID);
 void bench_aesgcm(int useDeviceID);
 void bench_gmac(void);
-void bench_aesccm(void);
+void bench_aesccm(int dummy);
 void bench_aesecb(int useDeviceID);
 void bench_aesxts(void);
 void bench_aesctr(void);

Some files were not shown because too many files changed in this diff