summaryrefslogtreecommitdiff
path: root/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp')
-rw-r--r--performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp92
1 files changed, 34 insertions, 58 deletions
diff --git a/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp b/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
index 11f6d16bad5..189748a2cbe 100644
--- a/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
+++ b/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
@@ -82,7 +82,6 @@ ACE_INET_Addr address;
#define bzero(b1,n) memset(b1,0,n)
#include <sys/times.h>
#include <sys/param.h>
-
struct rusage
{
struct timeval ru_utime, ru_stime;
@@ -194,10 +193,8 @@ int mread (int fd, register char *bufp, unsigned n);
int Nread (ACE_SOCK_Stream &s, void *buf, int count);
int Nwrite (ACE_SOCK_Stream &s, void *buf, int count);
-#if !defined (__cplusplus)
+#if !defined (__cplusplus)
typedef void (*SIG_TYP)();
-#else
-typedef void (*SIG_TYP)(int);
#endif
#ifdef SVR4
@@ -210,11 +207,6 @@ sigpipe ()
{
}
-void sigpipe(int foo)
-{
- printf("Caught signal %d\n", foo);
-}
-
char *title = 0;
int new_line = 0;
@@ -225,7 +217,6 @@ main (int argc, char *argv[])
unsigned long addr_tmp;
int c;
- printf("HZ = %d\n", HZ);
if (argc < 2)
goto usage;
@@ -378,6 +369,12 @@ main (int argc, char *argv[])
/* the transmitter will set options and connect to receiver */
if (trans)
{
+ if (connector_factory.connect (connection_stream, address) == -1)
+ perror ("connection failed"), exit (1);
+ fprintf (stdout,
+ "ttcp-t: data_buf_len=%d, nbuf=%d, align=%d/%d, port=%d",
+ data_buf_len, nbuf, bufalign, bufoffset, port);
+
// turn off weird ack things
if (nodelay)
{
@@ -390,12 +387,6 @@ main (int argc, char *argv[])
err ("setsockopt: nodelay");
mes ("nodelay");
}
- if (connector_factory.connect (connection_stream, address) == -1)
- perror ("connection failed"), exit (1);
- fprintf (stdout,
- "ttcp-t: data_buf_len=%d, nbuf=%d, align=%d/%d, port=%d",
- data_buf_len, nbuf, bufalign, bufoffset, port);
-
if (sockbufsize)
{
if (connection_stream.set_option (SOL_SOCKET,
@@ -413,6 +404,13 @@ main (int argc, char *argv[])
if (acceptor_factory.open (address, 1) == -1)
perror ("acceptor open"), exit (1);
+ ACE_INET_Addr remote_address;
+
+ if (acceptor_factory.accept (connection_stream,
+ (ACE_Addr *) &remote_address) == -1)
+ perror ("acceptor accept"), exit (1);
+
+ // set the window size
if (sockbufsize)
{
if (connection_stream.set_option (SOL_SOCKET,
@@ -423,14 +421,6 @@ main (int argc, char *argv[])
mes ("rcvbuf");
}
- ACE_INET_Addr remote_address;
-
- if (acceptor_factory.accept (connection_stream,
- (ACE_Addr *) &remote_address) == -1)
- perror ("acceptor accept"), exit (1);
-
- // set the window size
-
fprintf (stderr, "ttcp-r: accept from %s\n", remote_address.get_host_name());
}
}
@@ -473,7 +463,6 @@ main (int argc, char *argv[])
if (ack != data_buf_len)
ACE_DEBUG ((LM_DEBUG, "%received ack for only %d bytes\n", ack));
}
- printf("Client finished. \n");
}
else
{
@@ -513,12 +502,11 @@ main (int argc, char *argv[])
ACE_ERROR_RETURN ((LM_ERROR, "%p send ack failed\n",
"ttcp"), -1);
}
- printf("Server finished. \n");
}
- /* if (errno)
+ if (errno)
err ("IO");
- */
+
//
// stop the timer
//
@@ -676,15 +664,11 @@ 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_sec = 3600;
+ itime0.it_value.tv_sec = LONG_MAX / 22; /* greatest possible value , itimer() count backwards */
itime0.it_value.tv_usec = 0;
getrusage (RUSAGE_SELF, &ru0);
- fprintf(stdout, "\n");
- fprintf(stdout, "beginning user time = %d sec and %d usec\n", ru0.ru_utime.tv_sec, ru0.ru_utime.tv_usec);
- fprintf(stdout, "beginning sys time = %d sec and %d usec\n", ru0.ru_stime.tv_sec, ru0.ru_stime.tv_usec);
/* Init REAL Timer */
if (setitimer (ITIMER_REAL, &itime0, NULL))
@@ -692,7 +676,7 @@ prep_timer ()
perror ("Setting 'itimer' REAL failed");
return;
}
- fprintf(stdout, "Beginning transaction time = %d sec and %d usec\n", itime0.it_value.tv_sec, itime0.it_value.tv_usec);
+
}
/*
@@ -709,16 +693,13 @@ read_timer (char *str, int len)
char line[132];
getrusage (RUSAGE_SELF, &ru1);
- fprintf(stdout, "final user time = %d sec and %d usec\n", ru1.ru_utime.tv_sec, ru1.ru_utime.tv_usec);
- fprintf(stdout, "final sys time = %d sec and %d usec\n", ru1.ru_stime.tv_sec, ru1.ru_stime.tv_usec);
if (getitimer (ITIMER_REAL, &itimedol))
{
perror ("Getting 'itimer' REAL failed");
return (0.0);
-
}
- fprintf(stdout, "End transaction time = %d sec and %d usec\n", itimedol.it_value.tv_sec, itimedol.it_value.tv_usec);
+
prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line);
(void) strncpy (str, line, len);
@@ -738,7 +719,7 @@ read_timer (char *str, int len)
static void
prusage (register struct rusage *r0, struct rusage *r1,
- struct timeval *b, struct timeval *e, char *outp)
+ struct timeval *e, struct timeval *b, char *outp)
{
struct timeval tdiff;
register time_t t;
@@ -746,11 +727,11 @@ prusage (register struct rusage *r0, struct rusage *r1,
register int i;
int ms;
- t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 1000 +
- (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 100000 +
- (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 1000 +
- (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 100000;
- ms = -((e->tv_sec - b->tv_sec) * 1000 + (e->tv_usec - b->tv_usec) / 1000);/* in milliseconds */
+ 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)
@@ -759,8 +740,7 @@ prusage (register struct rusage *r0, struct rusage *r1,
#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 = "%Uutime %Sstime %Edtime %P cpu occupancy";
- /* cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw";*/
+ cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw";
#endif
#endif
for (; *cp; cp++)
@@ -773,25 +753,23 @@ prusage (register struct rusage *r0, struct rusage *r1,
case 'U':
tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime);
- /* sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec);*/
- sprintf (outp, "%f", (tdiff.tv_sec + tdiff.tv_usec/1000000.0));
+ 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);*/
- sprintf (outp, "%f", (tdiff.tv_sec + tdiff.tv_usec/1000000.0));
+ sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000);
END (outp);
break;
case 'E':
- psecs (ms / 1000, outp);
+ psecs (ms / 100, outp);
END (outp);
break;
case 'P':
- sprintf (outp, "%f%%", (t * 100.0 / ((ms ? ms : 1))));
+ sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1))));
END (outp);
break;
@@ -883,22 +861,21 @@ psecs (long l, register char *cp)
i = l / 3600;
if (i)
{
- sprintf (cp, "%d hours", i);
+ sprintf (cp, "%d:", i);
END (cp);
i = l % 3600;
- sprintf (cp, "%d minutes ", (i / 60));
- sprintf (cp, "%d seconds ", (i % 60));
+ sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10);
END (cp);
}
else
{
i = l;
- sprintf (cp, "%d minutes ", i / 60);
+ sprintf (cp, "%d", i / 60);
END (cp);
}
i %= 60;
*cp++ = ':';
- sprintf (cp, "%d seconds ", i);
+ sprintf (cp, "%d%d", i / 10, i % 10);
}
/*
@@ -964,4 +941,3 @@ mread (int fd, register char *bufp, unsigned n)
return ((int) count);
}
-