]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
display a warning message when using C90 clock_t for MT speed measurements. 3166/head
authorYann Collet <cyan@fb.com>
Sun, 19 Jun 2022 18:38:06 +0000 (11:38 -0700)
committerYann Collet <cyan@fb.com>
Sun, 19 Jun 2022 18:38:06 +0000 (11:38 -0700)
programs/benchzstd.c
programs/timefn.h

index fa2659efbbba3dad002549ea1dbaf05438c309e7..6ceca020c5903c47c8dee588456d48c7408d6248 100644 (file)
@@ -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
index 3fcd78a28ec13aeae3849f25ce601b1d66df61ac..8ba8ed787bc37b5359602b55cf4ff159caea7025 100644 (file)
@@ -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