summaryrefslogtreecommitdiff
path: root/performance-tests
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-12-29 19:27:14 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-12-29 19:27:14 +0000
commitf18ef22537acbbbafd0ecc68f21a1d36a2ce5186 (patch)
treea28b15aaf58cf8bfdb8b95fa65e586ad857463d9 /performance-tests
parent47f04b13281a6be55568654b38cd794be0b490af (diff)
downloadATCD-f18ef22537acbbbafd0ecc68f21a1d36a2ce5186.tar.gz
(prof_ace_os_thread): added ACE_UNUSED_ARG (iteration)
Diffstat (limited to 'performance-tests')
-rw-r--r--performance-tests/Misc/childbirth_time.cpp239
1 files changed, 120 insertions, 119 deletions
diff --git a/performance-tests/Misc/childbirth_time.cpp b/performance-tests/Misc/childbirth_time.cpp
index 66422bcb492..dbfc17edcc3 100644
--- a/performance-tests/Misc/childbirth_time.cpp
+++ b/performance-tests/Misc/childbirth_time.cpp
@@ -12,7 +12,7 @@
// This program is used to measure various child-creation mechanisms
// on various platforms. By default, the program measure the time
// to 'fork' a new process using ACE_Process.spawn (). Other tests
-// are possible as described below. James Hu provides the idea to
+// are possible as described below. James Hu provides the idea to
// batch measuring threads creation.
//
// Usage: childbirth_time [-n ###] [-p|-f|-t|-a] [-h] [-e]
@@ -40,7 +40,7 @@
//
// -h: Use High Resolution Timer if supported by platform.
//
-// -e: Exec a program after fork (). This option has no
+// -e: Exec a program after fork (). This option has no
// effect on NT.
//
// = CREATION DATE
@@ -70,7 +70,7 @@ typedef double (*Profiler)(size_t);
static int do_exec_after_fork = 0;
static void *
-empty (void*) // do nothing thread function
+empty (void*) // do nothing thread function
{
return 0;
}
@@ -78,7 +78,7 @@ empty (void*) // do nothing thread function
static double
prof_ace_process (size_t iteration)
{
- if (iteration != 0)
+ if (iteration != 0)
{
ACE_Process_Options popt;
ACE_Process aProcess;
@@ -86,32 +86,32 @@ prof_ace_process (size_t iteration)
popt.command_line (SUBPROGRAM);
iteration *= MULTIPLY_FACTOR;
-
+
if (do_exec_after_fork == 0)
- popt.creation_flags (ACE_Process_Options::NO_EXEC);
+ popt.creation_flags (ACE_Process_Options::NO_EXEC);
ACE_Profile_Timer ptimer;
ACE_Profile_Timer::ACE_Elapsed_Time et;
double time = 0;
pid_t result;
-
- for (size_t c = 0; c < iteration; c++)
- {
- ptimer.start ();
- result = aProcess.spawn (popt);
- ptimer.stop ();
- if (result == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "process.spawn"), -1);
- else if (do_exec_after_fork == 0 && result == 0)
- ACE_OS::exit (0) ;
- else
- {
- ptimer.elapsed_time (et);
- time += et.real_time;
- }
- }
-
+ for (size_t c = 0; c < iteration; c++)
+ {
+ ptimer.start ();
+ result = aProcess.spawn (popt);
+ ptimer.stop ();
+
+ if (result == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "process.spawn"), -1);
+ else if (do_exec_after_fork == 0 && result == 0)
+ ACE_OS::exit (0) ;
+ else
+ {
+ ptimer.elapsed_time (et);
+ time += et.real_time;
+ }
+ }
+
return time / iteration;
}
else
@@ -122,7 +122,7 @@ static double
prof_fork (size_t iteration)
{
#if !defined (ACE_LACKS_EXEC)
- if (iteration != 0)
+ if (iteration != 0)
{
ACE_Profile_Timer ptimer;
ACE_Profile_Timer::ACE_Elapsed_Time et;
@@ -130,24 +130,24 @@ prof_fork (size_t iteration)
iteration *= MULTIPLY_FACTOR;
- for (size_t i = 0; i < iteration; i++)
- {
- ptimer.start ();
- switch (ACE_OS::fork ())
- {
- case -1:
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "process.spawn"), -1);
- /* NOTREACHED */
- case 0:
- exit (0);
- /* NOTREACHED */
- break;
- default:
- ptimer.stop ();
- ptimer.elapsed_time (et);
- time += et.real_time;
- }
- }
+ for (size_t i = 0; i < iteration; i++)
+ {
+ ptimer.start ();
+ switch (ACE_OS::fork ())
+ {
+ case -1:
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "process.spawn"), -1);
+ /* NOTREACHED */
+ case 0:
+ exit (0);
+ /* NOTREACHED */
+ break;
+ default:
+ ptimer.stop ();
+ ptimer.elapsed_time (et);
+ time += et.real_time;
+ }
+ }
return time / iteration;
}
else
@@ -162,38 +162,38 @@ static double
prof_native_thread (size_t iteration)
{
#if defined (ACE_HAS_THREADS) && (defined (ACE_HAS_WTHREADS) || defined (ACE_HAS_STHREADS))
- if (iteration != 0)
+ if (iteration != 0)
{
ACE_Profile_Timer ptimer;
ACE_Profile_Timer::ACE_Elapsed_Time et;
double time = 0;
-
- for (size_t i = 0; i < iteration; i++)
- {
- ptimer.start ();
- for (size_t j = 0; j < MULTIPLY_FACTOR; j++)
- {
+
+ for (size_t i = 0; i < iteration; i++)
+ {
+ ptimer.start ();
+ for (size_t j = 0; j < MULTIPLY_FACTOR; j++)
+ {
#if defined (ACE_HAS_WTHREADS)
- if (::CreateThread (NULL,
- 0,
- LPTHREAD_START_ROUTINE (empty),
- 0,
- CREATE_SUSPENDED,
- 0) == NULL)
+ if (::CreateThread (NULL,
+ 0,
+ LPTHREAD_START_ROUTINE (empty),
+ 0,
+ CREATE_SUSPENDED,
+ 0) == NULL)
#elif defined (ACE_HAS_STHREADS)
- if (::thr_create (NULL,
- 0,
- empty,
- 0,
- THR_SUSPENDED,
- NULL) != 0)
+ if (::thr_create (NULL,
+ 0,
+ empty,
+ 0,
+ THR_SUSPENDED,
+ NULL) != 0)
#endif
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "CreateThread"), -1);
- }
- ptimer.stop ();
- ptimer.elapsed_time (et);
- time += et.real_time;
- }
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "CreateThread"), -1);
+ }
+ ptimer.stop ();
+ ptimer.elapsed_time (et);
+ time += et.real_time;
+ }
iteration *= MULTIPLY_FACTOR;
return time / iteration;
}
@@ -209,39 +209,40 @@ static double
prof_ace_os_thread (size_t iteration)
{
#if defined (ACE_HAS_THREADS)
- if (iteration != 0)
+ if (iteration != 0)
{
ACE_Profile_Timer ptimer;
ACE_Profile_Timer::ACE_Elapsed_Time et;
double time = 0;
- for (size_t i = 0; i < iteration; i++)
- {
- ptimer.start ();
+ for (size_t i = 0; i < iteration; i++)
+ {
+ ptimer.start ();
- for (size_t j = 0; j < MULTIPLY_FACTOR; j++)
- if (ACE_OS::thr_create ((ACE_THR_FUNC) empty,
- 0,
- THR_SUSPENDED,
- NULL) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "CreateThread"), -1);
+ for (size_t j = 0; j < MULTIPLY_FACTOR; j++)
+ if (ACE_OS::thr_create ((ACE_THR_FUNC) empty,
+ 0,
+ THR_SUSPENDED,
+ NULL) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "CreateThread"), -1);
- ptimer.stop ();
- ptimer.elapsed_time (et);
- time += et.real_time;
- }
+ ptimer.stop ();
+ ptimer.elapsed_time (et);
+ time += et.real_time;
+ }
iteration *= MULTIPLY_FACTOR;
return time / iteration;
}
else
return -1.0;
#else
+ ACE_UNUSED_ARG (iteration);
ACE_ERROR_RETURN ((LM_ERROR, "Threads are not supported on this platform."), -1);
#endif
}
-int
-main (int argc, char* argv[])
+int
+main (int argc, char* argv[])
{
ACE_Get_Opt get_opt (argc, argv, "n:pftahe");
int c;
@@ -249,49 +250,49 @@ main (int argc, char* argv[])
Profiler profiler = 0;
char *profile_name = 0 ;
- while ((c=get_opt ()) != -1)
+ while ((c=get_opt ()) != -1)
{
- switch (c)
- {
- case 'n':
- iteration = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'p': // test ACE_Process.spawn ()
- profiler = prof_ace_process;
- profile_name = "ACE_Process.spawn ()";
- break;
- case 'f': // test fork ()
- profiler = prof_fork;
- profile_name = "fork ()";
- break;
- case 't': // test native thread creation
- profiler = prof_native_thread;
- profile_name = "native threads";
- break;
- case 'a': // test ACE_OS::thr_create
- profiler = prof_ace_os_thread;
- profile_name = "ACE_OS::thr_create ()";
- break;
- case 'h': // use high resolution timer
- ACE_High_Res_Timer::get_env_global_scale_factor ();
- break;
- case 'e':
- do_exec_after_fork = 1;
- break;
- default:
- break;
- }
+ switch (c)
+ {
+ case 'n':
+ iteration = ACE_OS::atoi (get_opt.optarg);
+ break;
+ case 'p': // test ACE_Process.spawn ()
+ profiler = prof_ace_process;
+ profile_name = "ACE_Process.spawn ()";
+ break;
+ case 'f': // test fork ()
+ profiler = prof_fork;
+ profile_name = "fork ()";
+ break;
+ case 't': // test native thread creation
+ profiler = prof_native_thread;
+ profile_name = "native threads";
+ break;
+ case 'a': // test ACE_OS::thr_create
+ profiler = prof_ace_os_thread;
+ profile_name = "ACE_OS::thr_create ()";
+ break;
+ case 'h': // use high resolution timer
+ ACE_High_Res_Timer::get_env_global_scale_factor ();
+ break;
+ case 'e':
+ do_exec_after_fork = 1;
+ break;
+ default:
+ break;
+ }
}
if (profiler == 0)
ACE_ERROR_RETURN ((LM_ERROR, "Usage: childbirth_time {-p|-f|-t|-a} [-n ###] [-h] [-e]\n"), 1);
- else
+ else
{
double time = profiler (iteration);
- if (time > 0)
- ACE_DEBUG ((LM_DEBUG,
- "Average performance of %d iterations of %s: %.0f usec\n",
- iteration * 10, profile_name, time * 1e6));
+ if (time > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Average performance of %d iterations of %s: %.0f usec\n",
+ iteration * 10, profile_name, time * 1e6));
}
return 0;
}