diff options
author | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-12-29 19:27:14 +0000 |
---|---|---|
committer | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-12-29 19:27:14 +0000 |
commit | f18ef22537acbbbafd0ecc68f21a1d36a2ce5186 (patch) | |
tree | a28b15aaf58cf8bfdb8b95fa65e586ad857463d9 /performance-tests | |
parent | 47f04b13281a6be55568654b38cd794be0b490af (diff) | |
download | ATCD-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.cpp | 239 |
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; } |