diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-04-03 23:52:40 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-04-03 23:52:40 +0000 |
commit | 5282fc1fc16756f715a9b607abeb809e36434080 (patch) | |
tree | 90bea81e30e85e53034cf33b6013d511bfb9d228 /TAO/tests/CDR | |
parent | 0ca26fe9f5ad7f61a99ea2d314a63cbcbd413d28 (diff) | |
download | ATCD-5282fc1fc16756f715a9b607abeb809e36434080.tar.gz |
ChangeLogTag:Fri Apr 3 17:43:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/tests/CDR')
-rw-r--r-- | TAO/tests/CDR/Makefile | 263 | ||||
-rw-r--r-- | TAO/tests/CDR/growth.cpp | 142 |
2 files changed, 365 insertions, 40 deletions
diff --git a/TAO/tests/CDR/Makefile b/TAO/tests/CDR/Makefile index 41a33aa077d..709c37eb86b 100644 --- a/TAO/tests/CDR/Makefile +++ b/TAO/tests/CDR/Makefile @@ -18,13 +18,15 @@ LDFLAGS += -L$(TAO_ROOT)/tao PROG_SRCS = \ basic_types.cpp \ tc.cpp \ + growth.cpp \ LSRC = $(PROG_SRCS) BASIC_TYPES_OBJS = basic_types.o TC_OBJS = tc.o +GROWTH_OBJS = growth.o -BIN = basic_types tc +BIN = basic_types tc growth BUILD = $(BIN) VLDLIBS = $(LDLIBS:%=%$(VAR)) VBIN = $(BIN:%=%$(VAR)) @@ -49,6 +51,9 @@ basic_types: $(addprefix $(VDIR),$(BASIC_TYPES_OBJS)) tc: $(addprefix $(VDIR),$(TC_OBJS)) $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) +growth: $(addprefix $(VDIR),$(GROWTH_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + clean: -/bin/rm -rf *.o Log $(BIN) obj.* core Templates.DB .make.state @@ -177,24 +182,38 @@ clean: $(TAO_ROOT)/tao/Sequence_T.i \ $(TAO_ROOT)/tao/Object_KeyC.h \ $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ $(TAO_ROOT)/tao/default_client.h \ + $(TAO_ROOT)/tao/default_client.i \ $(TAO_ROOT)/tao/default_server.h \ $(TAO_ROOT)/tao/ORB_Strategies_T.h \ $(TAO_ROOT)/tao/ORB_Strategies_T.i \ - $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/default_server.i \ $(TAO_ROOT)/tao/NVList.h \ - $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/NVList.i \ $(TAO_ROOT)/tao/Principal.h \ $(TAO_ROOT)/tao/Request.h \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Server_Request.i \ $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ $(TAO_ROOT)/tao/CDR.h \ - $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/CDR.i \ $(TAO_ROOT)/tao/POA.h \ $(TAO_ROOT)/tao/POAC.h \ $(TAO_ROOT)/tao/POAC.i \ @@ -203,33 +222,19 @@ clean: $(TAO_ROOT)/tao/POAS.i \ $(TAO_ROOT)/tao/Object_Table.h \ $(TAO_ROOT)/tao/Connect.h \ + $(TAO_ROOT)/tao/Connect.i \ $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ $(TAO_ROOT)/tao/Operation_Table.h \ $(TAO_ROOT)/tao/debug.h \ $(TAO_ROOT)/tao/IIOP_Object.h \ + $(TAO_ROOT)/tao/IIOP_Object.i \ $(TAO_ROOT)/tao/IIOP_ORB.h \ + $(TAO_ROOT)/tao/IIOP_ORB.i \ $(TAO_ROOT)/tao/IIOP_Interpreter.h \ $(TAO_ROOT)/tao/GIOP.h \ - $(TAO_ROOT)/tao/ORB_Core.i \ - $(ACE_ROOT)/ace/Dynamic_Service.h \ - $(TAO_ROOT)/tao/Typecode.i \ - $(TAO_ROOT)/tao/NVList.i \ - $(TAO_ROOT)/tao/Any.i \ - $(TAO_ROOT)/tao/Stub.i \ - $(TAO_ROOT)/tao/Object.i \ - $(TAO_ROOT)/tao/ORB.i \ - $(TAO_ROOT)/tao/Marshal.i \ - $(TAO_ROOT)/tao/CDR.i \ $(TAO_ROOT)/tao/GIOP.i \ - $(TAO_ROOT)/tao/IIOP_ORB.i \ - $(TAO_ROOT)/tao/IIOP_Object.i \ - $(TAO_ROOT)/tao/Server_Request.i \ - $(TAO_ROOT)/tao/params.i \ - $(TAO_ROOT)/tao/Exception.i \ - $(TAO_ROOT)/tao/default_client.i \ - $(TAO_ROOT)/tao/default_server.i \ - $(TAO_ROOT)/tao/Connect.i \ - $(TAO_ROOT)/tao/Request.i \ $(TAO_ROOT)/tao/singletons.h .obj/tc.o .obj/tc.so .shobj/tc.o .shobj/tc.so: tc.cpp \ $(TAO_ROOT)/tao/corba.h \ @@ -353,24 +358,38 @@ clean: $(TAO_ROOT)/tao/Sequence_T.i \ $(TAO_ROOT)/tao/Object_KeyC.h \ $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ $(TAO_ROOT)/tao/default_client.h \ + $(TAO_ROOT)/tao/default_client.i \ $(TAO_ROOT)/tao/default_server.h \ $(TAO_ROOT)/tao/ORB_Strategies_T.h \ $(TAO_ROOT)/tao/ORB_Strategies_T.i \ - $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/default_server.i \ $(TAO_ROOT)/tao/NVList.h \ - $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/NVList.i \ $(TAO_ROOT)/tao/Principal.h \ $(TAO_ROOT)/tao/Request.h \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Server_Request.i \ $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ $(TAO_ROOT)/tao/CDR.h \ - $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/CDR.i \ $(TAO_ROOT)/tao/POA.h \ $(TAO_ROOT)/tao/POAC.h \ $(TAO_ROOT)/tao/POAC.i \ @@ -379,33 +398,197 @@ clean: $(TAO_ROOT)/tao/POAS.i \ $(TAO_ROOT)/tao/Object_Table.h \ $(TAO_ROOT)/tao/Connect.h \ + $(TAO_ROOT)/tao/Connect.i \ $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ $(TAO_ROOT)/tao/Operation_Table.h \ $(TAO_ROOT)/tao/debug.h \ $(TAO_ROOT)/tao/IIOP_Object.h \ + $(TAO_ROOT)/tao/IIOP_Object.i \ $(TAO_ROOT)/tao/IIOP_ORB.h \ + $(TAO_ROOT)/tao/IIOP_ORB.i \ $(TAO_ROOT)/tao/IIOP_Interpreter.h \ $(TAO_ROOT)/tao/GIOP.h \ - $(TAO_ROOT)/tao/ORB_Core.i \ - $(ACE_ROOT)/ace/Dynamic_Service.h \ - $(TAO_ROOT)/tao/Typecode.i \ - $(TAO_ROOT)/tao/NVList.i \ + $(TAO_ROOT)/tao/GIOP.i \ + $(TAO_ROOT)/tao/singletons.h +.obj/growth.o .obj/growth.so .shobj/growth.o .shobj/growth.so: growth.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/inc_user_config.h \ + $(ACE_ROOT)/ace/config.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Version.h \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/Strategies.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Connector.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Svc_Handler.i \ + $(ACE_ROOT)/ace/Connector.i \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Acceptor.i \ + $(TAO_ROOT)/tao/compat/objbase.h \ + $(TAO_ROOT)/tao/compat/initguid.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(TAO_ROOT)/tao/Align.h \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Sequence.i \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/Any.h \ $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/default_client.h \ + $(TAO_ROOT)/tao/default_client.i \ + $(TAO_ROOT)/tao/default_server.h \ + $(TAO_ROOT)/tao/ORB_Strategies_T.h \ + $(TAO_ROOT)/tao/ORB_Strategies_T.i \ + $(TAO_ROOT)/tao/default_server.i \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/Request.h \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Stub.h \ $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/Object.h \ $(TAO_ROOT)/tao/Object.i \ - $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Server_Request.i \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/Marshal.h \ $(TAO_ROOT)/tao/Marshal.i \ + $(TAO_ROOT)/tao/CDR.h \ $(TAO_ROOT)/tao/CDR.i \ - $(TAO_ROOT)/tao/GIOP.i \ - $(TAO_ROOT)/tao/IIOP_ORB.i \ - $(TAO_ROOT)/tao/IIOP_Object.i \ - $(TAO_ROOT)/tao/Server_Request.i \ - $(TAO_ROOT)/tao/params.i \ - $(TAO_ROOT)/tao/Exception.i \ - $(TAO_ROOT)/tao/default_client.i \ - $(TAO_ROOT)/tao/default_server.i \ + $(TAO_ROOT)/tao/POA.h \ + $(TAO_ROOT)/tao/POAC.h \ + $(TAO_ROOT)/tao/POAC.i \ + $(TAO_ROOT)/tao/Servant_Base.h \ + $(TAO_ROOT)/tao/POAS.h \ + $(TAO_ROOT)/tao/POAS.i \ + $(TAO_ROOT)/tao/Object_Table.h \ + $(TAO_ROOT)/tao/Connect.h \ $(TAO_ROOT)/tao/Connect.i \ - $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(TAO_ROOT)/tao/Operation_Table.h \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/IIOP_Object.h \ + $(TAO_ROOT)/tao/IIOP_Object.i \ + $(TAO_ROOT)/tao/IIOP_ORB.h \ + $(TAO_ROOT)/tao/IIOP_ORB.i \ + $(TAO_ROOT)/tao/IIOP_Interpreter.h \ + $(TAO_ROOT)/tao/GIOP.h \ + $(TAO_ROOT)/tao/GIOP.i \ $(TAO_ROOT)/tao/singletons.h # IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/tests/CDR/growth.cpp b/TAO/tests/CDR/growth.cpp new file mode 100644 index 00000000000..9424cd4f40f --- /dev/null +++ b/TAO/tests/CDR/growth.cpp @@ -0,0 +1,142 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// TAO/tests/CDR +// +// = FILENAME +// growth.cpp +// +// = DESCRIPTION +// Helps in measuring how the growth strategy affects the +// performance of CDR streams. +// +// = AUTHORS +// Carlos O'Ryan +// +// ============================================================================ + +#include "ace/Get_Opt.h" +#include "ace/High_Res_Timer.h" + +#include "tao/corba.h" +#include "tao/debug.h" + +static int +test_write (TAO_OutputCDR &cdr, int n) +{ + CORBA::Long l = 0xdeadbeef; + + for (int i = 0; i < n; ++i) + { + if (cdr.write_long (l) == 0) + ACE_ERROR_RETURN ((LM_ERROR, + "write_long[%d] failed\n", + i), + 1); + } + + return 0; +} + +static int +test_read (TAO_InputCDR &cdr, int n) +{ + CORBA::Long xl; + + for (int i = 0; i < n; ++i) + { + if (cdr.read_long (xl) == 0) + ACE_ERROR_RETURN ((LM_ERROR, + "read_long[%d] failed\n", + i), + 1); + } + + return 0; +} + +int +main (int argc, char *argv[]) +{ + int n = 100; + int low = 64; + int hi = 4096; + int s = 4; + + ACE_Get_Opt get_opt (argc, argv, "n:l:h:s:"); + int opt; + + while ((opt = get_opt ()) != EOF) + { + switch (opt) + { + case 'n': + n = ACE_OS::atoi (get_opt.optarg); + break; + case 'l': + low = ACE_OS::atoi (get_opt.optarg); + break; + case 'h': + hi = ACE_OS::atoi (get_opt.optarg); + break; + case 's': + s = ACE_OS::atoi (get_opt.optarg); + break; + case '?': + default: + ACE_DEBUG ((LM_DEBUG, + "Usage: %s " + "-l low " + "-h high " + "-s step " + "-n n " + "\n" + "Writes and then reads longs to a CDR stream " + "starting from <low> up to <high> incrementing " + "by <step>, at each step run <n> iterations to " + "average." + "\n", + argv[0])); + return -1; + } + } + + for (int x = low; x <= hi; x += s) + { + ACE_High_Res_Timer writing; + ACE_High_Res_Timer reading; + + for (int i = 0; i < n; ++i) + { + writing.start (); + TAO_OutputCDR output; + + if (test_write (output, x) != 0) + { + return 1; + } + writing.stop(); + + reading.start (); + TAO_InputCDR input (output); + if (test_read (input, x) != 0) + { + return 1; + } + reading.stop (); + } + double m = n * x; + ACE_hrtime_t wusecs; + writing.elapsed_microseconds (wusecs); + ACE_hrtime_t rusecs; + reading.elapsed_microseconds (rusecs); + + double write_average = wusecs / m; + double read_average = rusecs / m; + ACE_OS::printf ("AVE: %d %f %f\n", + x, write_average, read_average); + } + return 0; +} |