diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-21 16:54:17 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-21 16:54:17 +0000 |
commit | 82fbd358baf0ace0ecfc76cbbdb49505470b8402 (patch) | |
tree | 3431c21cb640d8cb452566bef273f9fcfb2452d7 /testsuites/support/src/tmtests_support.c | |
parent | 2010-06-21 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-82fbd358baf0ace0ecfc76cbbdb49505470b8402.tar.bz2 |
2010-06-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* support/include/test_support.h, support/src/tmtests_empty_function.c:
Add helper so it is easier to write a basic repeated operation
tmtest.
* support/src/tmtests_support.c: New file.
Diffstat (limited to '')
-rw-r--r-- | testsuites/support/src/tmtests_support.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/testsuites/support/src/tmtests_support.c b/testsuites/support/src/tmtests_support.c new file mode 100644 index 0000000000..350b35c85c --- /dev/null +++ b/testsuites/support/src/tmtests_support.c @@ -0,0 +1,53 @@ +/* + * COPYRIGHT (c) 1989-2010. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#include <bsp.h> +#include <rtems/timerdrv.h> +#include "test_support.h" +#include "timesys.h" + +extern void benchmark_timer_empty_operation( + int iteration, + void *argument +); + +void rtems_time_test_measure_operation( + const char *description, + rtems_time_test_method_t operation, + void *argument, + int iterations, + int overhead +) +{ + int i; + int loop_overhead; + int end_time; + + benchmark_timer_initialize(); + for (i=0 ; i<iterations ; i++ ) { + benchmark_timer_empty_operation( i, argument ); + } + loop_overhead = benchmark_timer_read(); + + benchmark_timer_initialize(); + for (i=0 ; i<iterations ; i++ ) { + (*operation)( i, argument ); + } + end_time = benchmark_timer_read(); + + put_time( + description, + end_time, + iterations, + loop_overhead, + overhead + ); +} |