From 574ecbb0fcbddd1937d104d199247052042d9a16 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sun, 19 Jun 2022 11:38:06 -0700 Subject: [PATCH] display a warning message when using C90 clock_t for MT speed measurements. --- programs/benchzstd.c | 9 ++++++++- programs/timefn.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/programs/benchzstd.c b/programs/benchzstd.c index fa2659efb..6ceca020c 100644 --- a/programs/benchzstd.c +++ b/programs/benchzstd.c @@ -13,7 +13,7 @@ * Tuning parameters ****************************************/ #ifndef BMK_TIMETEST_DEFAULT_S /* default minimum time per test */ -#define BMK_TIMETEST_DEFAULT_S 3 +# define BMK_TIMETEST_DEFAULT_S 3 #endif @@ -387,6 +387,13 @@ BMK_benchMemAdvancedNoAlloc( RDG_genBuffer(compressedBuffer, maxCompressedSize, 0.10, 0.50, 1); } +#if defined(UTIL_TIME_USES_C90_CLOCK) + if (adv->nbWorkers > 1) { + OUTPUTLEVEL(2, "Warning : time measurements restricted to C90 clock_t. \n") + OUTPUTLEVEL(2, "Warning : using C90 clock_t leads to incorrect measurements in multithreading mode. \n") + } +#endif + /* Bench */ { U64 const crcOrig = (adv->mode == BMK_decodeOnly) ? 0 : XXH64(srcBuffer, srcSize, 0); # define NB_MARKS 4 diff --git a/programs/timefn.h b/programs/timefn.h index 3fcd78a28..8ba8ed787 100644 --- a/programs/timefn.h +++ b/programs/timefn.h @@ -65,6 +65,7 @@ extern "C" { #else /* relies on standard C90 (note : clock_t measurements can be wrong when using multi-threading) */ + #define UTIL_TIME_USES_C90_CLOCK typedef clock_t UTIL_time_t; #define UTIL_TIME_INITIALIZER 0 -- 2.47.2