[gst-cvs] gst-plugins-base: Run liboil benchmark multiple times
David Schleef
ds at kemper.freedesktop.org
Fri May 22 21:30:21 PDT 2009
Module: gst-plugins-base
Branch: master
Commit: 1dae15d762a7d27201e5390acf2f157d4a0984d2
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1dae15d762a7d27201e5390acf2f157d4a0984d2
Author: David Schleef <ds at schleef.org>
Date: Fri May 22 17:31:14 2009 -0700
Run liboil benchmark multiple times
The statistics function requires multiple runs, otherwise
it causes a divide by zero error.
---
gst/audioresample/gstaudioresample.c | 33 +++++++++++++--------------------
1 files changed, 13 insertions(+), 20 deletions(-)
diff --git a/gst/audioresample/gstaudioresample.c b/gst/audioresample/gstaudioresample.c
index 8fa0457..99b1d86 100644
--- a/gst/audioresample/gstaudioresample.c
+++ b/gst/audioresample/gstaudioresample.c
@@ -1355,6 +1355,7 @@ _benchmark_integer_resampling (void)
OilProfile a, b;
gdouble av, bv;
SpeexResamplerState *sta, *stb;
+ int i;
oil_profile_init (&a);
oil_profile_init (&b);
@@ -1372,29 +1373,21 @@ _benchmark_integer_resampling (void)
return FALSE;
}
- /* Warm up cache */
- if (!_benchmark_int_float (sta))
- goto error;
- if (!_benchmark_int_float (sta))
- goto error;
-
/* Benchmark */
- oil_profile_start (&a);
- if (!_benchmark_int_float (sta))
- goto error;
- oil_profile_stop (&a);
-
- /* Warm up cache */
- if (!_benchmark_int_int (stb))
- goto error;
- if (!_benchmark_int_int (stb))
- goto error;
+ for (i = 0; i < 10; i++) {
+ oil_profile_start (&a);
+ if (!_benchmark_int_float (sta))
+ goto error;
+ oil_profile_stop (&a);
+ }
/* Benchmark */
- oil_profile_start (&b);
- if (!_benchmark_int_int (stb))
- goto error;
- oil_profile_stop (&b);
+ for (i = 0; i < 10; i++) {
+ oil_profile_start (&b);
+ if (!_benchmark_int_int (stb))
+ goto error;
+ oil_profile_stop (&b);
+ }
/* Handle results */
oil_profile_get_ave_std (&a, &av, NULL);
More information about the Gstreamer-commits
mailing list