From: Yann Collet Date: Sun, 19 Jun 2022 18:38:06 +0000 (-0700) Subject: display a warning message when using C90 clock_t for MT speed measurements. X-Git-Tag: v1.5.4^2~198^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F3166%2Fhead;p=thirdparty%2Fzstd.git display a warning message when using C90 clock_t for MT speed measurements. --- 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