diff options
Diffstat (limited to 'TAO/performance-tests/Thruput/Orbix')
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/Client.cpp | 328 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/Makefile | 60 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/README | 40 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/Srv_Main.cpp | 176 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/extract | 4 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/loop64 | 24 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/orbixsol2s4.mk | 148 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/run | 1 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/run_client | 25 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/run_server | 4 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/run_test | 31 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/run_tests | 78 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/ttcp.idl | 40 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/ttcp_decl.h | 154 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/ttcp_i.cpp | 102 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/ttcp_i.h | 65 | ||||
-rw-r--r-- | TAO/performance-tests/Thruput/Orbix/utils.cpp | 563 |
17 files changed, 0 insertions, 1843 deletions
diff --git a/TAO/performance-tests/Thruput/Orbix/Client.cpp b/TAO/performance-tests/Thruput/Orbix/Client.cpp deleted file mode 100644 index 899a075669f..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/Client.cpp +++ /dev/null @@ -1,328 +0,0 @@ -// $Id$ - -#include "ttcp_decl.h" - -ACE_RCSID(Orbix, Client, "$Id$") - -char Usage[] = "\ -Usage: client [-options] [ORBeline options] host \n\ -Common options:\n\ --l ## length of bufs read from or written to network (default 8192)\n\ --A align the start of buffers to this modulus (default 16384)\n\ --o start buffers at this offset from the modulus (default 0)\n\ --v verbose: print more statistics\n\ --d set SO_DEBUG socket option\n\ --b ## set socket buffer size (if supported)\n\ --f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\ --n ## number of source bufs written to network (default 2048)\n\ --x Use new lines after each entry in output file\n\ --h ## Remote host to send data to\n\ --D don't buffer TCP writes (sets TCP_NODELAY socket option)\n\ --L ## Output file name for the data type used\n\ --S <Total Data Size>\n\ --q <type> Send Sequence: Enumeration for various data types:\n\ -s = short, l = long, d = double, c = char\n\ -o = octet, S = struct, C = composite\n\ -"; - -#if !defined (__cplusplus) -typedef void (*SIG_TYP)(); -#endif - -#ifdef SVR4 -void -sigpipe (int foo) -#else - void -sigpipe () -#endif -{ -} - -int fromlen; -int domain = PF_INET; /* Default is to use Internet domain sockets. */ -char *domainname; /* Rendezvous address for UNIX domain sockets. */ -int fd; /* fd of network socket */ -int buflen = 8 * 1024; /* length of buffer */ -char *buf; /* ptr to dynamic buffer */ -int nbuf = 2 * 1024; /* number of buffers to send in sinkmode */ - -int bufoffset = 0; /* align buffer to this */ -int bufalign = 16 * 1024; /* modulo this */ - -int udp = 0; /* 0 = tcp, !0 = udp */ -int options = 0; /* socket options */ -int one = 1; /* for 4.3 BSD style setsockopt() */ -short port = 5001; /* TCP port number */ -char *host; /* ptr to name of host */ -int trans =1; /* 0=receive, !0=transmit mode */ -int sinkmode = 1; /* 0=normal I/O, !0=sink/source mode */ -int verbose = 0; /* 0=print basic info, 1=print cpu rate, proc -* resource usage. */ -int nodelay = 0; /* set TCP_NODELAY socket option */ -int b_flag = 0; /* use mread() */ -int sockbufsize = 0; /* socket buffer size to use */ -int new_line=0; /* This is a special flag */ -int write_to_file=1; /* indecates writing to file (default)*/ -char fmt = 'K'; /* output format:k=kilobits,K=kilobytes, -* m = megabits, M = megabytes, -* g = gigabits, G = gigabytes */ -int touchdata = 0; /* access data after reading */ - -struct hostent *addr; -char *title = 0; - -char stats[128]; -unsigned long srcDataSize; /* Total amount of source data */ -unsigned long nbytes; /* bytes on net */ -unsigned long numCalls; /* # of I/O system calls */ -double cput, realt; /* user, real time (seconds) */ -unsigned long dt; - -/* declare struct variables for various message types */ -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; -ttcp_sequence::CompositeSeq *Cseq; - - -int -main (int argc, char *argv[]) -{ - - unsigned long addr_tmp; - unsigned short done = 0; - int c; - - CORBA::Environment env; - CORBA::Object_ptr target; // will hold handle to proxy - ttcp_sequence_ptr ttcp_seq; - - if (argc < 2) - goto usage; - - - while (!done && ((c = getopt (argc, argv, "dvDb:h:f:l:n:A:o:L:xS:q:O")) != -1)) - { - switch (c) - { - case 'h': - host = optarg; - break; - case 'x': - new_line = 1; - break; - case 'L': - title = optarg; - break; - case 'd': - options |= SO_DEBUG; - break; - case 'D': -#ifdef TCP_NODELAY - nodelay = 1; -#else - fprintf (stderr, - "ttcp: -D option ignored: TCP_NODELAY socket option not supported\n"); -#endif - break; - case 'n': - nbuf = atoi (optarg); - break; - case 'l': - buflen = atoi (optarg); - break; - case 'v': - verbose = 1; - break; - case 'A': - bufalign = atoi (optarg); - break; - case 'o': - bufoffset = atoi (optarg); - break; - case 'b': -#if defined(SO_SNDBUF) || defined(SO_RCVBUF) - sockbufsize = atoi (optarg); -#else - fprintf (stderr, - "ttcp: -b option ignored: SO_SNDBUF/SO_RCVBUF socket options not supported\n"); -#endif - break; - case 'f': - fmt = *optarg; - break; - case 'S': /* total source data to send. */ - /* modify nbuf accordingly */ - srcDataSize = atoi(optarg); - break; - case 'q': /* Send sequence of desired data type */ - switch(*optarg){ - case 's': - dt = SEND_SHORT; - break; - case 'l': - dt = SEND_LONG; - break; - case 'd': - dt = SEND_DOUBLE; - break; - case 'c': - dt = SEND_CHAR; - break; - case 'o': - dt = SEND_OCTET; - break; - case 'S': - dt = SEND_STRUCT; - break; - case 'C': - dt = SEND_COMPOSITE; - break; - } - break; - case 'O': - case '?': - done = 1; - break; - default: - goto usage; - } - } - - // - // Transmitter - // - - // now bind to server - try { - char *service_name = new char[15]; - strcpy(service_name,":SII_ttcp"); // server object's name - - target = ttcp_sequence::_bind (service_name, host); - if (!CORBA::is_nil(target)){ - ttcp_seq = ttcp_sequence::_narrow(target); - - if (!CORBA::is_nil(ttcp_seq)){ - /* start recording quantify data from here */ - if (sockbufsize) - { - /* file descriptor of a proxy is obtained using the _fd() method */ - if (setsockopt (ttcp_seq->_fd (), SOL_SOCKET, SO_SNDBUF, (char *) &sockbufsize, - sizeof sockbufsize) < 0) - err ("setsockopt: sndbuf"); - mes ("sndbuf"); - } - - if (nodelay) - { - struct protoent *p; - p = getprotobyname ("tcp"); - if (setsockopt (ttcp_seq->_fd (), - p->p_proto, - TCP_NODELAY, - (char *)& one, - sizeof (one))) - err ("setsockopt: nodelay"); - mes ("nodelay"); - } - - /* modify nbuf according to Total data size */ - nbuf = srcDataSize/buflen; - fprintf(stderr, "data size = %d, buflen = %d, nbuf = %d\n",srcDataSize, buflen, nbuf); - - // - // Prepare the Message to be sent - // - - errno = 0; - if ((buf = (char *) malloc (buflen + bufalign)) == (char *) NULL) - err ("malloc"); - if (bufalign != 0) - buf += (bufalign - ((int) buf % bufalign) + bufoffset) % bufalign; - - - // fill the appropriate buffers - FillPattern (buf, buflen, dt); - // - // Start the timers on the client and server sides - // - - prep_timer (); - ttcp_seq->start_timer (); -#if defined (ACE_HAS_QUANTIFY) - quantify_clear_data(); - quantify_start_recording_data(); -#endif - while (nbuf--) - { - switch(dt){ - case SEND_SHORT: - ttcp_seq->sendShortSeq(*sseq); - nbytes += sseq->length()*sizeof(CORBA::Short); - break; - case SEND_LONG: - ttcp_seq->sendLongSeq(*lseq); - nbytes += lseq->length()*sizeof(CORBA::Long); - break; - case SEND_OCTET: - ttcp_seq->sendOctetSeq(*oseq); - nbytes += oseq->length()*sizeof(CORBA::Octet); - break; - case SEND_DOUBLE: - ttcp_seq->sendDoubleSeq(*dseq); - nbytes += dseq->length()*sizeof(CORBA::Double); - break; - case SEND_CHAR: - ttcp_seq->sendCharSeq(*cseq); - nbytes += cseq->length()*sizeof(CORBA::Char); - break; - case SEND_STRUCT: - ttcp_seq->sendStructSeq(*Sseq); - nbytes += Sseq->length()*sizeof(PerfStruct); - break; - case SEND_COMPOSITE: - ttcp_seq->sendCompositeSeq(*Cseq); - nbytes += Cseq->length()*sizeof(CompositeStruct); - break; - } - numCalls++; - } -#if defined(ACE_HAS_QUANTIFY) - quantify_stop_recording_data(); -#endif - // - // Stop the timer - // - ttcp_seq->stop_timer(); - (void) read_timer (stats, sizeof (stats)); - - // print results - PrintStats(); - - } - } - } - catch(CORBA::SystemException &se){ - // an error occurred while trying to bind to the object. - cerr << "Bind to object failed" << endl; - cerr << "System exception " << &se << endl; - return -1; - } - catch(...) - { - // an error occurred while trying to bind to the object. - cerr << "Bind to object failed" << endl; - cerr << "Unexpected exception " << endl; - return -1; - }; - - CORBA::release(ttcp_seq); - return(0); - usage: - fprintf (stderr, Usage); - return 1; -} diff --git a/TAO/performance-tests/Thruput/Orbix/Makefile b/TAO/performance-tests/Thruput/Orbix/Makefile deleted file mode 100644 index 7a4cd12c24d..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -#### $Id$ - -include orbixsol2s4.mk - -all: client server - @echo - - @echo "\"client\" and \"server\" have been compiled." - @echo - @echo "To run tests, check the how_to_run_tests file." - @echo - -C++FLAGS += -DSYSV -DWANT_ORBIX_FDS -DLM_RESULTS #-DUSE_TIE -SERVER_OBJS = ttcpS.o ttcp_i.o utils.o Srv_Main.o -CLIENT_OBJS = ttcpC.o utils.o Client.o - -ifdef unpad -C++FLAGS += -DUNPAD -endif - -ifeq ($(OSRELEASE),5.4) -C++FLAGS += -DSUNOS54 -endif - -client: $(CLIENT_OBJS) - $(PRELINK) $(C++) $(C++FLAGS) -o client $(CLIENT_OBJS) $(LDFLAGS) $(ITSRV) $(SYSLIBS) - -server: $(SERVER_OBJS) - $(PRELINK) $(C++) $(C++FLAGS) -o server $(SERVER_OBJS) $(LDFLAGS) $(ITSRV) $(SYSLIBS) - -ttcp.h ttcpC.$(C++SUFFIX) ttcpS.$(C++SUFFIX):ttcp.idl - $(IDL) $(IDLFLAGS) $< - -.PHONY: clean - -clean: - rm -f core *.o *~ client server *C.cpp *S.cpp ttcp.h - -checkin: - ci ttcp.idl - ci ttcp_i.h - ci ttcp_i.cpp - ci Srv_Main.cpp - ci Client.cpp - ci ttcp_decl.h - ci utils.cpp - rm -f core *.o *~ client server *C.cpp *S.cpp ttcp.h - -checkout: - co -l ttcp.idl - co -l ttcp_i.h - co -l ttcp_i.cpp - co -l Srv_Main.cpp - co -l Client.cpp - co -l ttcp_decl.h - co -l utils.cpp - -release: - test -d $(RDIR)/SII/1way/Orbix || mkdir -p $(RDIR)/SII/1way/Orbix - cp *.idl *.cpp *.h Makefile run* README* $(RDIR)/SII/1way/Orbix/. diff --git a/TAO/performance-tests/Thruput/Orbix/README b/TAO/performance-tests/Thruput/Orbix/README deleted file mode 100644 index 21e58670e48..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/README +++ /dev/null @@ -1,40 +0,0 @@ -This directory contains code that has a modified version of the TTCP benchmark that uses -Orbix. Our intent is to test the performance of Orbix over ATM using the CORBA IDL "sequence" -data type. - -We define sequences of "short", "long", "double", "octet", "char", a user-defined -"struct" and a composite struct. - -We run our server program using the following command line: (this is -an example) - -putit SII_ttcp "/project/mambo/gokhale/TTCP-testbed/SII/1way/Orbix/server -f m -b 65536" - -The client program is run using the following command line: -client -S <data size> -f m -l <chunk size> -h <host> -L <filename> -q <data type> -b <socketQ> - -<data type> implies what sequence type you want to send: -s short -c chars -o octet -d double -l long -S user defined struct -C composite struct -<filename> will store the result that indicates the thruput observed in Mbps (because -we chose -f m as the option). - -An example is given from the "run" script - -client -S 67108864 -f m -l $1 -h encip1-merengue.cs.wustl.edu -L temp -q $2 -b 65536 - - -The following files are used: - -ttcp.idl This file is the CORBA IDL declaration for the TTCP benchmark. -Srv_main.cpp Server program. -Client.cpp Client program. -ttcp_i.cpp Implementation of various methods of the ttcp_sequence object. -ttcp_i.h Implementation header -utils.cpp Lots of functions that came along with the original TTCP benchmark. -ttcp_decl.h Prototypes, extern decls, etc... diff --git a/TAO/performance-tests/Thruput/Orbix/Srv_Main.cpp b/TAO/performance-tests/Thruput/Orbix/Srv_Main.cpp deleted file mode 100644 index 58de97b87e3..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/Srv_Main.cpp +++ /dev/null @@ -1,176 +0,0 @@ -// $Id$ - -#include "ttcp_i.h" - -ACE_RCSID(Orbix, Srv_Main, "$Id$") - -char Usage[] = "\ -Usage: server [options] \n\ -Common options:\n\ - -l ## length of bufs read from or written to network (default 8192)\n\ - -A align the start of buffers to this modulus (default 16384)\n\ - -O start buffers at this offset from the modulus (default 0)\n\ - -v verbose: print more statistics\n\ - -d set SO_DEBUG socket option\n\ - -b ## set socket buffer size (if supported)\n\ - -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\ - -L ## Output file name for the data type used\n\ -Options specific to -r:\n\ - -B for -s, only output full blocks as specified by -l (for TAR)\n\ - -T \"touch\": access each byte as it's read\n\ -"; - -#if !defined (__cplusplus) -typedef void (*SIG_TYP)(); -#endif - -#ifdef SVR4 -void -sigpipe (int foo) -#else -void -sigpipe () -#endif -{ -} - -int fromlen; -int domain = PF_INET; /* Default is to use Internet domain sockets. */ -char *domainname; /* Rendezvous address for UNIX domain sockets. */ -int fd; /* fd of network socket */ -int buflen = 8 * 1024; /* length of buffer */ -char *buf; /* ptr to dynamic buffer */ -int nbuf = 2 * 1024; /* number of buffers to send in sinkmode */ - -int bufoffset = 0; /* align buffer to this */ -int bufalign = 16 * 1024; /* modulo this */ - -int udp = 0; /* 0 = tcp, !0 = udp */ -int options = 0; /* socket options */ -int one = 1; /* for 4.3 BSD style setsockopt() */ -short port = 5001; /* TCP port number */ -char *host; /* ptr to name of host */ -int trans; /* 0=receive, !0=transmit mode */ -int sinkmode = 0; /* 0=normal I/O, !0=sink/source mode */ -int verbose = 0; /* 0=print basic info, 1=print cpu rate, proc - * resource usage. */ -int nodelay = 0; /* set TCP_NODELAY socket option */ -int b_flag = 0; /* use mread() */ -int sockbufsize = 0; /* socket buffer size to use */ -int new_line=0; /* This is a special flag */ -int write_to_file=1; /* indecates writing to file (default)*/ -char fmt = 'K'; /* output format:k=kilobits,K=kilobytes, - * m = megabits, M = megabytes, - * g = gigabits, G = gigabytes */ -int touchdata = 0; /* access data after reading */ - -struct hostent *addr; -char *title = 0; - -char stats[128]; -unsigned long srcDataSize; /* Total amount of source data */ -unsigned long nbytes; /* bytes on net */ -unsigned long numCalls; /* # of I/O system calls */ -double cput, realt; /* user, real time (seconds) */ -unsigned long dt; - -/* declare struct variables for various message types */ -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; -ttcp_sequence::CompositeSeq *Cseq; - -unsigned short isDone = 0; - -int -main (int argc, char *argv[]) -{ - - unsigned long addr_tmp; - int c; - unsigned short done = 0; - - - if (argc < 2) - goto usage; - - // Now process the options other than Orbix specific options - while (!done && ((c = getopt (argc, argv, "dvb:f:l:L:O")) != -1)) - { - switch (c) - { - case 'L': - title = optarg; - break; - case 'd': - options |= SO_DEBUG; - break; - case 'l': - buflen = atoi (optarg); - break; - case 'v': - verbose = 1; - break; - case 'b': -#if defined(SO_SNDBUF) || defined(SO_RCVBUF) - sockbufsize = atoi (optarg); -#else - fprintf (stderr, - "ttcp: -b option ignored: SO_SNDBUF/SO_RCVBUF socket options not supported\n"); -#endif - break; - case 'f': - fmt = *optarg; - break; - case 'O': - case '?': - done = 1; - break; - default: - goto usage; - } - } - - ttcp_sequence_i *my_ttcp; - // - // Receiver - // - try { - char *service_name = new char[15]; - strcpy(service_name,"SII_ttcp"); - -#if defined (USE_TIE) - // TIE approach - my_ttcp = new ttcp_sequence_i; - _tie_ttcp_sequence<ttcp_sequence_i> *my_ttcp_tmpl = new - _tie_ttcp_sequence<ttcp_sequence_i> (*my_ttcp); - -#else - my_ttcp = new ttcp_sequence_i; -#endif - -#if defined (ACE_HAS_QUANTIFY) - quantify_clear_data(); - quantify_start_recording_data(); -#endif - CORBA::Orbix.impl_is_ready(service_name); - } - catch(CORBA::SystemException &se) { - // an error occured calling impl_is_ready() - output the error. - cout << "System Exception getting the implementation ready " << &se << endl; - return -1; - } - catch(...) { - // an error occured calling obj_is_ready() - output the error. - cout << "Undefined Exception getting the implementation ready " << endl; - return -1; - } - CORBA::release(my_ttcp); - return (0); -usage: - fprintf (stderr, Usage); - return(1); -} diff --git a/TAO/performance-tests/Thruput/Orbix/extract b/TAO/performance-tests/Thruput/Orbix/extract deleted file mode 100644 index 9cce54ca390..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/extract +++ /dev/null @@ -1,4 +0,0 @@ -rm -f outfile -touch outfile -grep "Mbit/sec\|Send" results.TAO | head -20 > outfile -grep "msec/call\|Send" results.TAO | head -20 >> outfile diff --git a/TAO/performance-tests/Thruput/Orbix/loop64 b/TAO/performance-tests/Thruput/Orbix/loop64 deleted file mode 100644 index 102c2afd209..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/loop64 +++ /dev/null @@ -1,24 +0,0 @@ -# All ATM tests: 64k socket Queue Size -# -# shorts -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 s -sleep 2 -# longs -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 l -sleep 2 -# octets -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 o -sleep 2 -# doubles -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 d -sleep 2 -# chars -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 c -sleep 2 -# structures -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 S -sleep 2 -# Composite Structs -#run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 C -#sleep 2 -# diff --git a/TAO/performance-tests/Thruput/Orbix/orbixsol2s4.mk b/TAO/performance-tests/Thruput/Orbix/orbixsol2s4.mk deleted file mode 100644 index 01fd92b98c8..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/orbixsol2s4.mk +++ /dev/null @@ -1,148 +0,0 @@ -# ------------------------------------------------------------ -# Orbix 2.2 implicit rules for SunOS/GNU Make -# ------------------------------------------------------------ -# -# If you cut'n'paste this into your /usr/include/make/default.mk -# file, beware! This is not officially supported by Iona -# Technologies, and you may want to be a bit of a Makefile hacker -# to make it integrate well with your site's setup. - -# The best thing to do would be put it in a standard place and -# anyone who wants the Orbix implicit rule set can include -# it with an "include <pathname>/orbix.mk" line in their -# Makefile. A good place to put it might be /usr/include/make. - -# These rules define default C++, C++FLAGS and C++SUFFIX. -# C++ is the C++ compiler to use; C++FLAGS are command-line -# flags to the C++ compiler for use in compiling C++ source -# files into objects; C++SUFFIX is the filename suffix -# indicating C++ source. By default, it's set to "C" for AT&T C++, -# and "cc" for GNU g++. - -# Feel free to override these in your Makefiles *after* -# including this file. - -# IMPORTANT: If the -M switch is specified in IDLFLAGS, the IDL -# compiler appends to the user-specified file. The dependency for -# specified_file.o in the linking target should appear _after_ any use -# of the IDL compiler which takes the -M flag. Putting it _last_ -# is normally the best approach. - -# Note that these rule definitions use pattern matching, -# and therefore only work with SunOS make and GNU make. - -# They may not work with other vendor's versions of make. -# If they do not, you may wish to try using GNU make, which -# is free software produced by the Free Software Foundation. - -# If the version of make you wish to use does not support -# pattern matching, use the sample explicit rule set in -# the comments at the end of this file. - -# ------------------------------------------------------------ -# Essential: set these to the locations into which you -# have installed Orbix' components: - -ORBIX_BINDIR = /opt/Orbix_2.2/bin -ORBIX_LIBDIR = /opt/Orbix_2.2/lib -ORBIX_INCDIR = /opt/Orbix_2.2/include - -#------------------------------------------------------------- -# To compile the demos, you should change these values as -# appropriate for your particular system installation -#------------------------------------------------------------- - -X11BASE = /usr/openwin -X11INCDIR = $(X11BASE)/include -X11LIBDIR = $(X11BASE)/lib - -C++ = CC -C++FLAGS = -I$(ORBIX_INCDIR) -I. -C++SUFFIX = cpp -CXX = CC -CPPFLAGS += -I$(ORBIX_INCDIR) -I. -CPPSUFFIX = cpp - -# ------------------------------------------------------------ -# ITCLT, IRCLT and ITSRV can be either statically or dynamically linked -# Use -Bdynamic or -Bstatic as appropriate. -# ------------------------------------------------------------ -ITCLT = -Bdynamic -lorbix -ITSRV = -Bdynamic -lorbix -IRCLT = -Bdynamic -lIRclt -ITIIOP = -Bdynamic -liiop -ITDSI = -Bdynamic -lDSI -ITIFR = -Bdynamic -lifr - - -# ------------------------------------------------------------ -# SYSLIBS must be dynamically linked; otherwise you can expect to -# get linkage errors for symbols in the nsl library -# ------------------------------------------------------------ - -LDFLAGS = -L$(ORBIX_LIBDIR) -SYSLIBS = -Bdynamic -lnsl -lsocket - -IDL = $(ORBIX_BINDIR)/idl -IDLFLAGS = -h .h -c C.cpp -s S.cpp -B -A -m interOp -#------------------------------------------------------------ -# The following section defines implicit rules for creating -# *.{C,S}.C files, rules for compiling those -# into objects, and even a rule for compiling C++ source into -# objects (in case one isn't already defined). - -# ------------------------------------------------------------ -# first, put the new suffixes at the *head* of the suffix list, -# overriding any existing .C compilation method. -.SUFFIXES: -.SUFFIXES: .$(C++SUFFIX) .idl $(SUFFIXES) - -# .SUFFIXES: .$(C++SUFFIX) .idl .hh $(SUFFIXES) -# ------------------------------------------------------------ -# *[CS].o must be compiled here, and depends -# mostly on the C++ files produced from the IDL file. - -%C.o: %C.$(C++SUFFIX) - $(C++) -c $(C++FLAGS) $< - -%S.o: %S.$(C++SUFFIX) - $(C++) -c $(C++FLAGS) $< - -%.o: %.$(C++SUFFIX) - $(C++) -c $(C++FLAGS) $< - -# and here's how to compile C++ files from the IDL file. -# only ONE of these rules will be run at make-time, - -%S.$(C++SUFFIX): %.idl - $(IDL) $(IDLFLAGS) $< - -%C.$(C++SUFFIX): %.idl - $(IDL) $(IDLFLAGS) $< - -#%.hh: %.idl -%.h: %.idl - $(IDL) $(IDLFLAGS) $< - -# ------------------------------------------------------------ -# If the version of make you wish to use does not support -# pattern matching, here's a sample of an explicit rule set. -# We assume the IDL file is called "foobar.idl", we wish -# to compile "foobarC.o", "foobarS.o", and -# "foobar.hh", and the C++ file suffix. -# ------------------------------------------------------------ - -# foobarC.o: foobar.hh foobarC.C -# $(C++) -c ($C++FLAGS) foobarC.C -# -# foobarS.o: foobar.hh foobarS.C -# $(C++) -c ($C++FLAGS) foobarS.C -# -# foobarC.C: foobar.idl -# $(IDL) -c ($IDLFLAGS) foobar.idl -# -# foobarS.C: foobar.idl -# $(IDL) -c ($IDLFLAGS) foobar.idl -# -# foobar.hh: foobar.idl -# $(IDL) -c ($IDLFLAGS) foobar.idl diff --git a/TAO/performance-tests/Thruput/Orbix/run b/TAO/performance-tests/Thruput/Orbix/run deleted file mode 100644 index 7af22c9407b..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/run +++ /dev/null @@ -1 +0,0 @@ -client -S 67108864 -f m -D -l $1 -h mambo-atm.wustl.edu -L temp -q $2 -b 65536 diff --git a/TAO/performance-tests/Thruput/Orbix/run_client b/TAO/performance-tests/Thruput/Orbix/run_client deleted file mode 100644 index 0de2a604e31..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/run_client +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/csh -f -# All ATM tests: 64k socket Queue Size -# -# shorts -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 s -sleep 2 -# longs -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 l -sleep 2 -# octets -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 o -sleep 2 -# doubles -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 d -sleep 2 -# chars -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 c -sleep 2 -# structures -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 S -sleep 2 -# Composite Structs -#run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 C -#sleep 2 -# diff --git a/TAO/performance-tests/Thruput/Orbix/run_server b/TAO/performance-tests/Thruput/Orbix/run_server deleted file mode 100644 index 1dad6e9c600..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/run_server +++ /dev/null @@ -1,4 +0,0 @@ -rmit SII_ttcp -putit SII_ttcp "/project/mambo/gokhale/TTCP-testbed/SII/1way/Orbix/server -f m -b 65536 -l 131072" -#putit SII_ttcp -persistent -#truss -f server -f m -b 65536 -l 131072 diff --git a/TAO/performance-tests/Thruput/Orbix/run_test b/TAO/performance-tests/Thruput/Orbix/run_test deleted file mode 100644 index 9ca15639427..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/run_test +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/csh -f -if ($#argv < 3) then - echo "Usage: sclt <Total Data Size> <Max msg size> <destination> <TitleOfThisTest> <seq type>" - exit 1 -endif -# -@ msize=1024 -@ limit= ($argv[2] * 1024) -#echo $limit -#echo $msize -echo "Iteration#" 1 ": client -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536 -client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536 -set flag=0 -while ($msize <= $limit) - if ($flag == 0) goto label - echo "Iteration#" 1 ": client -S" $1 "-D -f m -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536 - client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536 - label: - set flag=1 - sleep 2 - foreach i (2 3) - echo "Iteration#" $i ": client -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L " $4 "-q" $5 -b 65536 - client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536 - end - echo "---------------------------" - @ msize = ($msize * 2) -end - -echo " " -echo "Done at:" -date diff --git a/TAO/performance-tests/Thruput/Orbix/run_tests b/TAO/performance-tests/Thruput/Orbix/run_tests deleted file mode 100644 index 96245b9fbc8..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/run_tests +++ /dev/null @@ -1,78 +0,0 @@ -#! /bin/csh - -rm -f results.TAO -touch results.TAO - -echo "TAO throughput test" -echo "TAO throughput test" >>results.TAO -echo "===================" -echo "===================" >>results.TAO - - -echo "Send Struct --------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - -echo "Send Short ---------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - -echo "Send Long ----------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - -echo "Send Octet ---------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - -echo "Send Double --------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - -echo "Send Char ----------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - -grep "Mbit/sec\|Send" results.TAO diff --git a/TAO/performance-tests/Thruput/Orbix/ttcp.idl b/TAO/performance-tests/Thruput/Orbix/ttcp.idl deleted file mode 100644 index 9e95e00d8b0..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/ttcp.idl +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -struct PerfStruct{ - short s; - char c; - long l; - octet o; - double d; - //padding - long pad[2]; -}; - -struct CompositeStruct{ - PerfStruct ps; -}; - -// Richly typed data -interface ttcp_sequence -{ - typedef sequence<short> ShortSeq; - typedef sequence<long> LongSeq; - typedef sequence<double> DoubleSeq; - typedef sequence<char> CharSeq; - typedef sequence<octet> OctetSeq; - typedef sequence<PerfStruct> StructSeq; - typedef sequence<CompositeStruct> CompositeSeq; - - // Routines to send sequences of various data types - oneway void sendShortSeq (in ShortSeq ttcp_seq); - oneway void sendLongSeq (in LongSeq ttcp_seq); - oneway void sendDoubleSeq (in DoubleSeq ttcp_seq); - oneway void sendCharSeq (in CharSeq ttcp_seq); - oneway void sendOctetSeq (in OctetSeq ttcp_seq); - oneway void sendStructSeq (in StructSeq ttcp_seq); - oneway void sendCompositeSeq (in CompositeSeq ttcp_seq); - - oneway void start_timer (); - oneway void stop_timer (); -}; diff --git a/TAO/performance-tests/Thruput/Orbix/ttcp_decl.h b/TAO/performance-tests/Thruput/Orbix/ttcp_decl.h deleted file mode 100644 index 1b28e501537..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/ttcp_decl.h +++ /dev/null @@ -1,154 +0,0 @@ -// $Id$ - - -/* - * T T C P Header File - * - */ - -/* This file includes all the declarations and prototypes */ - -#ifndef _TTCP_DECL_H_ -#define _TTCP_DECL_H_ - -#include "ttcp.h" - -/* #define BSD43 */ -/* #define BSD42 */ -/* #define BSD41a */ - - -#include <stdio.h> -#include <signal.h> -#include <ctype.h> -#include <errno.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <malloc.h> -#include <string.h> -#include <stdlib.h> -#include <memory.h> -#include <netinet/tcp.h> -#include <arpa/inet.h> -#include <netdb.h> -#include <sys/time.h> /* struct itimerval */ -#include <limits.h> -#include <sys/un.h> -#include <unistd.h> -#include <iostream.h> -#include <sys/resource.h> - -/* File to be included if Quantify is to be used */ -#if defined (ACE_HAS_QUANTIFY) -# include <quantify.h> -#endif - - -#if defined(SYSV) -#define bcopy(b1,b2,n) memcpy(b2,b1,n) -#define bzero(b1,n) memset(b1,0,n) -#include <sys/times.h> -#include <sys/param.h> -#endif - -#if defined(SUNOS54) -struct rusage - { - struct timeval ru_utime, ru_stime; - }; -#define RUSAGE_SELF 0 -#else -#include <sys/resource.h> -#endif - -/* define the data types to be sent */ -#define SEND_SHORT ((unsigned long)(1)) -#define SEND_LONG ((unsigned long)(2)) -#define SEND_CHAR ((unsigned long)(3)) -#define SEND_OCTET ((unsigned long)(4)) -#define SEND_DOUBLE ((unsigned long)(5)) -#define SEND_STRUCT ((unsigned long)(6)) -#define SEND_COMPOSITE ((unsigned long)(7)) - -/************** -// Prototypes -***************/ -void err (char *s); -void mes (char *s); -char *outfmt (double b); -static void getrusage (int ignored, register struct rusage *ru); -static void gettimeofday (struct timeval *tp, struct timezone *zp); -void prep_timer (void); -double read_timer (char *str, int len); -static void prusage (register struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp); -static void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1); -static void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0); -static void psecs (long l, register char *cp); -void delay (int us); -int mread (int fd, register char *bufp, unsigned n); -int Nread (int fd, void *buf, int count); -int Nwrite (int fd, void *buf, int count); -void FillPattern(register char *cp, register int bufLen, unsigned long dt); -void PrintStats(); -int SetSocketBufferSize(int size, unsigned short isTrans); -int SetNoDelay(); -void ProcessArguments(int argc, char **argv, unsigned short isTrans); - -/* Global variables defined here as extern */ -extern int fromlen; -extern int domain; /* Default is to use Internet domain sockets. */ -extern char *domainname; /* Rendezvous address for UNIX domain sockets. */ -extern int fd; /* fd of network socket */ - -extern int buflen; /* length of buffer */ -extern char *buf; /* ptr to dynamic buffer */ -extern int nbuf; /* number of buffers to send in sinkmode */ - -extern int bufoffset; /* align buffer to this */ -extern int bufalign; /* modulo this */ - -extern int udp; /* 0 = tcp, !0 = udp */ -extern int options; /* socket options */ -extern int one; /* for 4.3 BSD style setsockopt() */ -extern short port; /* TCP port number */ -extern char *host; /* ptr to name of host */ -extern int trans; /* 0=receive, !0=transmit mode */ -extern int sinkmode; /* 0=normal I/O, !0=sink/source mode */ -extern int verbose; /* 0=print basic info, 1=print cpu rate, proc - * resource usage. */ -extern int nodelay; /* set TCP_NODELAY socket option */ -extern int b_flag; /* use mread() */ -extern int sockbufsize; /* socket buffer size to use */ -extern int new_line; /* This is a special flag */ -extern int write_to_file; /* indecates writing to file (default)*/ -extern char fmt; /* output format:k=kilobits,K=kilobytes, - * m = megabits, M = megabytes, - * g = gigabits, G = gigabytes */ -extern int touchdata; /* access data after reading */ - -extern struct hostent *addr; -extern int errno; -extern int optind; -extern char *optarg; -extern char *title; - -extern char stats[128]; -extern unsigned long srcDataSize; /* Total amount of source data */ -extern unsigned long nbytes; /* bytes on net */ -extern unsigned long numCalls; /* # of I/O system calls */ -extern double cput, realt; /* user, real time (seconds) */ -extern unsigned long dt; - -extern unsigned short isDone; - -/* declare struct variables for various message types */ -extern ttcp_sequence::ShortSeq *sseq; -extern ttcp_sequence::LongSeq *lseq; -extern ttcp_sequence::OctetSeq *oseq; -extern ttcp_sequence::DoubleSeq *dseq; -extern ttcp_sequence::CharSeq *cseq; -extern ttcp_sequence::StructSeq *Sseq; -extern ttcp_sequence::CompositeSeq *Cseq; - -#endif diff --git a/TAO/performance-tests/Thruput/Orbix/ttcp_i.cpp b/TAO/performance-tests/Thruput/Orbix/ttcp_i.cpp deleted file mode 100644 index 66bdca5f4ea..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/ttcp_i.cpp +++ /dev/null @@ -1,102 +0,0 @@ -// $Id$ - -#include "ttcp_i.h" - -ACE_RCSID(Orbix, ttcp_i, "$Id$") - -/* callback routine that will change the size of the socket queue */ -static void -SD_Ready (int io_descriptor) -{ - if (sockbufsize) - { - if (setsockopt (io_descriptor, SOL_SOCKET, SO_RCVBUF, - (char *) &sockbufsize, sizeof sockbufsize) < 0) - perror ("setsockopt: rcvbuf"), exit (1); - } -} - -/* the ttcp_i class implementation */ -ttcp_sequence_i::ttcp_sequence_i() -{ - this->nbytes_ = 0; - numCalls = 0; - // register a callback so we can manipulate the descriptor - // being used by orbix. - - if (CORBA::Orbix.registerIOCallback (OrbixIOCallback(SD_Ready), - FD_OPEN_CALLBACK) != 0) - perror ("can't register callback"), exit (1); -} - - -void -ttcp_sequence_i::start_timer (CORBA::Environment &IT_env) -{ - this->nbytes_ = 0; - ::prep_timer (); -} - -void -ttcp_sequence_i::stop_timer (CORBA::Environment &IT_env) -{ - (void) ::read_timer (stats, sizeof (stats)); - ::nbytes = this->nbytes_; - ::PrintStats(); - // reset - this->nbytes_ = 0; - numCalls = 0; -#if defined (ACE_HAS_QUANTIFY) - quantify_stop_recording_data(); - exit(0); -#endif -} - -void -ttcp_sequence_i::sendShortSeq(const ttcp_sequence::ShortSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short); -} - -void -ttcp_sequence_i::sendLongSeq(const ttcp_sequence::LongSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ; -} - -void -ttcp_sequence_i::sendOctetSeq(const ttcp_sequence::OctetSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ; -} - -void -ttcp_sequence_i::sendDoubleSeq(const ttcp_sequence::DoubleSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ; -} - -void -ttcp_sequence_i::sendCharSeq(const ttcp_sequence::CharSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ; -} - -void -ttcp_sequence_i::sendStructSeq(const ttcp_sequence::StructSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(PerfStruct) ; -} - -void -ttcp_sequence_i::sendCompositeSeq(const ttcp_sequence::CompositeSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CompositeStruct) ; -} diff --git a/TAO/performance-tests/Thruput/Orbix/ttcp_i.h b/TAO/performance-tests/Thruput/Orbix/ttcp_i.h deleted file mode 100644 index 7c81620f271..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/ttcp_i.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ttcp_i.h -// -// This header file provides facility to use it either as a BOA approach or as -// a TIE approach. -// -#ifndef TTCP_I_H -#define TTCP_I_H - -#include "ttcp.h" -#include "ttcp_decl.h" - -/* define the data types to be sent */ -#define SEND_SHORT ((unsigned long)(1)) -#define SEND_LONG ((unsigned long)(2)) -#define SEND_CHAR ((unsigned long)(3)) -#define SEND_OCTET ((unsigned long)(4)) -#define SEND_DOUBLE ((unsigned long)(5)) -#define SEND_STRUCT ((unsigned long)(6)) -#define SEND_COMPOSITE ((unsigned long)(7)) - - -#if defined(USE_TIE) -class ttcp_sequence_i -#else // use BOA -class ttcp_sequence_i - : public virtual ttcp_sequenceBOAImpl -#endif -{ -public: - ttcp_sequence_i(); - - virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendCompositeSeq (const ttcp_sequence::CompositeSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - - /* Routines to calculate the time required to transfer */ - virtual void start_timer (CORBA::Environment &IT_env= - CORBA::default_environment); - virtual void stop_timer (CORBA::Environment &IT_env= - CORBA::default_environment); -private: - unsigned long nbytes_; -}; - -#if defined(USE_TIE) -// ttcp_sequence_i implements ttcp_sequence -DEF_TIE(ttcp_sequence, ttcp_sequence_i); -#endif - -#endif // defined (TTCP_I_H) diff --git a/TAO/performance-tests/Thruput/Orbix/utils.cpp b/TAO/performance-tests/Thruput/Orbix/utils.cpp deleted file mode 100644 index 316af53ff40..00000000000 --- a/TAO/performance-tests/Thruput/Orbix/utils.cpp +++ /dev/null @@ -1,563 +0,0 @@ -// $Id$ - -#include "ttcp_decl.h" - -ACE_RCSID(Orbix, utils, "$Id$") - -void -err (char *s) -{ - fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r"); - perror (s); - fprintf (stderr, "errno=%d\n", errno); - exit (1); -} - -void -mes (char *s) -{ - fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s); -} - -char * -outfmt (double b) -{ - static char obuf[50]; - switch (fmt) - { - case 'G': - sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0); - break; - default: - case 'K': - sprintf (obuf, "%.2f KB", b / 1024.0); - break; - case 'M': - sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0); - break; - case 'g': - sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0); - break; - case 'k': - sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0); - break; - case 'm': - sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0); - break; - } - return obuf; -} - -static struct itimerval itime0; /* Time at which timing started */ -static struct rusage ru0; /* Resource utilization at the start */ - -#if defined(SYSV) -/*ARGSUSED */ -static void -getrusage (int ignored, register struct rusage *ru) -{ - struct tms buf; - - times (&buf); - - /* Assumption: HZ <= 2147 (LONG_MAX/1000000) */ - ru->ru_stime.tv_sec = buf.tms_stime / HZ; - ru->ru_stime.tv_usec = ((buf.tms_stime % HZ) * 1000000) / HZ; - ru->ru_utime.tv_sec = buf.tms_utime / HZ; - ru->ru_utime.tv_usec = ((buf.tms_utime % HZ) * 1000000) / HZ; -} - -/*ARGSUSED */ -static void -gettimeofday (struct timeval *tp, struct timezone *zp) -{ - tp->tv_sec = time (0); - tp->tv_usec = 0; -} -#endif /* SYSV */ -/* - * P R E P _ T I M E R - */ -void -prep_timer () -{ - itime0.it_interval.tv_sec = 0; - itime0.it_interval.tv_usec = 0; - itime0.it_value.tv_sec = LONG_MAX / 22; /* greatest possible value , itimer() count backwards */ - itime0.it_value.tv_usec = 0; - - - getrusage (RUSAGE_SELF, &ru0); - - /* Init REAL Timer */ - if (setitimer (ITIMER_REAL, &itime0, NULL)) - { - perror ("Setting 'itimer' REAL failed"); - return; - } - -} - -/* - * R E A D _ T I M E R - * - */ -double -read_timer (char *str, int len) -{ - struct itimerval itimedol; - struct rusage ru1; - struct timeval td; - struct timeval tend, tstart; - char line[132]; - - getrusage (RUSAGE_SELF, &ru1); - - if (getitimer (ITIMER_REAL, &itimedol)) - { - perror ("Getting 'itimer' REAL failed"); - return (0.0); - } - - prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line); - (void) strncpy (str, line, len); - - /* Get real time */ - tvsub (&td, &itime0.it_value, &itimedol.it_value); - realt = td.tv_sec + ((double) td.tv_usec) / 1000000; - - /* Get CPU time (user+sys) */ - tvadd (&tend, &ru1.ru_utime, &ru1.ru_stime); - tvadd (&tstart, &ru0.ru_utime, &ru0.ru_stime); - tvsub (&td, &tend, &tstart); - cput = td.tv_sec + ((double) td.tv_usec) / 1000000; - if (cput < 0.00001) - cput = 0.00001; - return (cput); -} - -static void -prusage (register struct rusage *r0, struct rusage *r1, - struct timeval *e, struct timeval *b, char *outp) -{ - struct timeval tdiff; - register time_t t; - register char *cp; - register int i; - int ms; - - t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 + - (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 + - (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 + - (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 10000; - ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000; - -#define END(x) {while(*x) x++;} -#if defined(SYSV) - cp = "%Uuser %Ssys %Ereal %P"; -#else -#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */ - cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw"; -#else - cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw"; -#endif -#endif - for (; *cp; cp++) - { - if (*cp != '%') - *outp++ = *cp; - else if (cp[1]) - switch (*++cp) - { - - case 'U': - tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime); - sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'S': - tvsub (&tdiff, &r1->ru_stime, &r0->ru_stime); - sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'E': - psecs (ms / 100, outp); - END (outp); - break; - - case 'P': - sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1)))); - END (outp); - break; - -#if !defined(SYSV) - case 'W': - i = r1->ru_nswap - r0->ru_nswap; - sprintf (outp, "%d", i); - END (outp); - break; - - case 'X': - sprintf (outp, "%d", t == 0 ? 0 : (r1->ru_ixrss - r0->ru_ixrss) / t); - END (outp); - break; - - case 'D': - sprintf (outp, "%d", t == 0 ? 0 : - (r1->ru_idrss + r1->ru_isrss - (r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'K': - sprintf (outp, "%d", t == 0 ? 0 : - ((r1->ru_ixrss + r1->ru_isrss + r1->ru_idrss) - - (r0->ru_ixrss + r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'M': - sprintf (outp, "%d", r1->ru_maxrss / 2); - END (outp); - break; - - case 'F': - sprintf (outp, "%d", r1->ru_majflt - r0->ru_majflt); - END (outp); - break; - - case 'R': - sprintf (outp, "%d", r1->ru_minflt - r0->ru_minflt); - END (outp); - break; - - case 'I': - sprintf (outp, "%d", r1->ru_inblock - r0->ru_inblock); - END (outp); - break; - - case 'O': - sprintf (outp, "%d", r1->ru_oublock - r0->ru_oublock); - END (outp); - break; - case 'C': - sprintf (outp, "%d+%d", r1->ru_nvcsw - r0->ru_nvcsw, - r1->ru_nivcsw - r0->ru_nivcsw); - END (outp); - break; -#endif /* !SYSV */ - } - } - *outp = '\0'; -} - -static void -tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1) -{ - - tsum->tv_sec = t0->tv_sec + t1->tv_sec; - tsum->tv_usec = t0->tv_usec + t1->tv_usec; - if (tsum->tv_usec > 1000000) - tsum->tv_sec++, tsum->tv_usec -= 1000000; -} - -static void -tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0) -{ - - tdiff->tv_sec = t1->tv_sec - t0->tv_sec; - tdiff->tv_usec = t1->tv_usec - t0->tv_usec; - if (tdiff->tv_usec < 0) - tdiff->tv_sec--, tdiff->tv_usec += 1000000; -} - -static void -psecs (long l, register char *cp) -{ - register int i; - - i = l / 3600; - if (i) - { - sprintf (cp, "%d:", i); - END (cp); - i = l % 3600; - sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10); - END (cp); - } - else - { - i = l; - sprintf (cp, "%d", i / 60); - END (cp); - } - i %= 60; - *cp++ = ':'; - sprintf (cp, "%d%d", i / 10, i % 10); -} - -/* - * N R E A D - */ -int -Nread (int fd, void *buf, int count) -{ - struct sockaddr_in from; - int len = sizeof (from); - register int cnt; - if (udp) - { - cnt = recvfrom (fd, (char *) buf, count, 0, (struct sockaddr *) &from, &len); - numCalls++; - } - else - { - if (b_flag) - cnt = mread (fd, (char *) buf, count); /* fill buf */ - else - { - cnt = read (fd, buf, count); - numCalls++; - } - if (touchdata && cnt > 0) - { - register int c = cnt, sum; - register char *b = (char *) buf; - while (c--) - sum += *b++; - } - } - return (cnt); -} - - -/* - * N W R I T E - */ -int -Nwrite (int fd, void *buf, int count) -{ - return 0; -} - -void -delay (int us) -{ - struct timeval tv; - - tv.tv_sec = 0; - tv.tv_usec = us; - (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv); -} - -/* - * M R E A D - * - * This function performs the function of a read(II) but will - * call read(II) multiple times in order to get the requested - * number of characters. This can be necessary because - * network connections don't deliver data with the same - * grouping as it is written with. Written by Robert S. Miles, BRL. - */ -int -mread (int fd, register char *bufp, unsigned n) -{ - register unsigned count = 0; - register int nread; - - do - { - nread = read (fd, bufp, n - count); - numCalls++; - if (nread < 0) - { - perror ("ttcp_mread"); - return (-1); - } - if (nread == 0) - return ((int) count); - count += (unsigned) nread; - bufp += nread; - } - while (count < n); - - return ((int) count); -} - -void -FillPattern (register char *cp, register int bufLen, unsigned long dt) -{ - unsigned long - num, i; - - switch(dt){ - case SEND_SHORT: - { - register short *SeqPtr = (short *)cp; - num = bufLen/sizeof(short); - for (i=0; i < num; i++) - SeqPtr[i] = (short)lrand48(); - sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr); - } - break; - case SEND_LONG: - { - register long *SeqPtr = (long *)cp; - num = bufLen/sizeof(long); - for (i=0; i < num; i++) - SeqPtr[i] = lrand48(); - lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr); - } - break; - case SEND_DOUBLE: - { - register double *SeqPtr = (double *)cp; - num = bufLen/sizeof(double); - for (i=0; i < num; i++) - SeqPtr[i] = drand48(); - dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr); - } - break; - case SEND_CHAR: - { - register CORBA::Char *SeqPtr = (CORBA::Char *)cp; - register char c = 0; - num = bufLen/sizeof(char); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr); - } - break; - case SEND_STRUCT: - { - register PerfStruct *SeqPtr = (PerfStruct *)cp; - register char c = 0; - num = bufLen/sizeof(PerfStruct); - for (i=0; i < num; i++){ - SeqPtr[i].s = (short)lrand48(); - SeqPtr[i].l = lrand48(); - SeqPtr[i].d = drand48(); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].c = (c++ & 0x7f); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].o = (unsigned char)(c++ & 0x7f); - } - Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr); - - } - break; - case SEND_COMPOSITE: - { - register CompositeStruct *SeqPtr = (CompositeStruct *)cp; - register char c = 0; - num = bufLen/sizeof(CompositeStruct); - for (i=0; i < num; i++){ - SeqPtr[i].ps.s = (short)lrand48(); - SeqPtr[i].ps.l = lrand48(); - SeqPtr[i].ps.d = drand48(); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].ps.c = (c++ & 0x7f); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].ps.o = (unsigned char)(c++ & 0x7f); - } - Cseq = new ttcp_sequence::CompositeSeq(num, num, SeqPtr); - } - break; - case SEND_OCTET: - default: - { - register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp; - register char c = 0; - num = bufLen/sizeof(CORBA::Octet); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr); - } - break; - } -} -void PrintStats() -{ - if (cput <= 0.0) - cput = 0.001; - if (realt <= 0.0) - realt = 0.001; - -//#if defined (LM_RESULTS) - if (trans && (title != 0)) - { - double tmp; - FILE *outFile; - char filename[BUFSIZ]; - - strcpy(filename, title); - switch(dt){ - case SEND_SHORT: - strcat(filename, ".shortSeq.results"); - break; - case SEND_LONG: - strcat(filename, ".longSeq.results"); - break; - case SEND_DOUBLE: - strcat(filename, ".doubleSeq.results"); - break; - case SEND_CHAR: - strcat(filename, ".charSeq.results"); - break; - case SEND_STRUCT: - strcat(filename, ".structSeq.results"); - break; - case SEND_COMPOSITE: - strcat(filename, ".compositeSeq.results"); - break; - case SEND_OCTET: - default: - strcat(filename, ".octetSeq.results"); - break; - } - outFile = fopen (filename, "a+"); - if (new_line) - fprintf (outFile, "\n -l %ldk \t", buflen / 1024); - tmp = ((double) nbytes) / realt; - fprintf (outFile, "%.2f ", tmp * 8.0 / 1024.0 / 1024.0); - fclose (outFile); - } -//#endif - - fprintf (stdout, - "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n", - trans ? "-t" : "-r", - nbytes, realt, outfmt (((double) nbytes) / realt)); - if (verbose) - { - fprintf (stdout, - "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n", - trans ? "-t" : "-r", - nbytes, cput, outfmt (((double) nbytes) / cput)); - } - fprintf (stdout, - "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n", - trans ? "-t" : "-r", - numCalls, - 1024.0 * realt / ((double) numCalls), - ((double) numCalls) / realt); - fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats); - if (verbose) - { - fprintf (stdout, - "ttcp%s: buffer address %#x\n", - trans ? "-t" : "-r", - buf); - } -} |