Change benchmarking code so it returns comparable values.
[ffmpeg.git] / libavutil / random.c
index c3e71e699c174808333bd95c58d26bc7acb95431..2f73c19755a1819a508ba4c6301e4dc8b5186d08 100644 (file)
@@ -28,9 +28,7 @@ see http://en.wikipedia.org/wiki/Mersenne_twister for an explanation of this alg
 #include <stdio.h>
 #include "random.h"
 
-//#define DEBUG
-
-#ifdef DEBUG
+#ifdef TEST
 #include "common.h"
 #include "log.h"
 #endif
@@ -81,23 +79,20 @@ void av_random_generate_untempered_numbers(AVRandomState *state)
     state->index = 0;
 }
 
-#ifdef DEBUG
-void av_benchmark_random(void)
+#ifdef TEST
+void main(void)
 {
     int x=0;
     int i, j;
     AVRandomState state;
 
     av_init_random(0xdeadbeef, &state);
-    for (j = 0; j < 100; j++) {
-        START_TIMER;
-        x+= av_random(&state);
-        STOP_TIMER("first call to av_random");
-        for (i = 1; i < AV_RANDOM_N; i++) {
-            START_TIMER;
+    for (j = 0; j < 10000; j++) {
+        START_TIMER
+        for (i = 0; i < 624; i++) {
             x+= av_random(&state);
-            STOP_TIMER("AV_RANDOM_N calls of av_random");
         }
+        STOP_TIMER("624 calls of av_random");
     }
     av_log(NULL, AV_LOG_ERROR, "final value:%X\n", x);
 }