From: Siddhesh Poyarekar Date: Sat, 22 Feb 2014 04:39:27 +0000 (+0530) Subject: benchtests: Add new directive for benchmark initialization hook X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21e0d3b8076ad3870cf82e91c48f0ecfb17f0c83;p=thirdparty%2Fglibc.git benchtests: Add new directive for benchmark initialization hook Add a new 'init' directive that specifies the name of the function to call to do function-specific initialization. --- diff --git a/benchtests/README b/benchtests/README index 2a940fab7ff..21ba995b10e 100644 --- a/benchtests/README +++ b/benchtests/README @@ -60,6 +60,7 @@ one to add `foo' to the bench tests: - include-sources: This should be assigned a comma-separated list of source files that need to be included to provide definitions of global variables and functions (specifically, this includes using "#include "source"). + - init: Name of an initializer function to call to initialize the benchtest. - name: See following section for instructions on how to use this directive. Lines beginning with a single hash '#' are treated as comments. See diff --git a/benchtests/bench-skeleton.c b/benchtests/bench-skeleton.c index 4290e76f315..53430d484bd 100644 --- a/benchtests/bench-skeleton.c +++ b/benchtests/bench-skeleton.c @@ -55,6 +55,9 @@ main (int argc, char **argv) unsigned long iters, res; +#ifdef BENCH_INIT + BENCH_INIT (); +#endif TIMING_INIT (res); iters = 1000 * res; diff --git a/scripts/bench.py b/scripts/bench.py index 81ffc152500..f4ce44faee0 100755 --- a/scripts/bench.py +++ b/scripts/bench.py @@ -124,6 +124,10 @@ def gen_source(func, directives, all_vals): else: getret = '' + # Test initialization. + if directives['init']: + print('#define BENCH_INIT %s' % directives['init']) + print(EPILOGUE % {'getret': getret, 'func': func}) @@ -228,7 +232,8 @@ def parse_file(func): 'args': [], 'includes': [], 'include-sources': [], - 'ret': '' + 'ret': '', + 'init': '' } try: