summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-08-19 20:37:39 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-08-19 20:37:39 +0000
commita4c5c2105ffe6928b23d4c27c24f6364b04e7ad4 (patch)
tree8340bfa66cac70947804ade9aec571f85c970889
parent57853bb0c0a70fdee30bac651e6150aa636c0678 (diff)
downloadATCD-a4c5c2105ffe6928b23d4c27c24f6364b04e7ad4.tar.gz
ChangeLogTag:Sun Aug 19 13:25:51 2001 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r--ChangeLog28
-rw-r--r--ChangeLogs/ChangeLog-02a28
-rw-r--r--ChangeLogs/ChangeLog-03a28
-rw-r--r--bin/auto_run_tests.lst1
-rwxr-xr-xbin/footprint_stats.sh63
-rwxr-xr-xbin/generate_footprint_chart.sh17
-rwxr-xr-xbin/generate_performance_chart.sh16
-rwxr-xr-xbin/performance_stats.sh127
-rw-r--r--bin/sandbox.cpp36
-rw-r--r--html/Stats/Stats.css4
-rw-r--r--html/Stats/configuration.shtml82
-rw-r--r--html/Stats/detailed_footprint.shtml287
-rw-r--r--html/Stats/detailed_performance.shtml162
-rw-r--r--html/Stats/footer.html12
-rw-r--r--html/Stats/index.shtml75
-rw-r--r--html/Stats/navigation.html31
16 files changed, 979 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index 231c6de5635..998f01b04ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+Sun Aug 19 13:25:51 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ * bin/performance_stats.sh:
+ * bin/generate_footprint_chart.sh:
+ * bin/generate_performance_chart.sh:
+ * html/Stats/Stats.css:
+ * html/Stats/configuration.shtml:
+ * html/Stats/detailed_footprint.shtml:
+ * html/Stats/detailed_performance.shtml:
+ * html/Stats/footer.html:
+ * html/Stats/index.shtml:
+ * html/Stats/navigation.html:
+ Put the scripts and HTML documents used to generate the Stats
+ pages under CVS control. Now it is easier for people to add
+ their own libraries and tests, as well as let our user community
+ examine the way the pages are generated.
+
+ * bin/auto_run_tests.lst:
+ Remove TAO/tests/LongUpcalls/run_ami_test.pl, the tests have
+ been incorporated into the run_test.pl script.
+
+ * bin/sandbox.cpp:
+ Minor changes to the sandbox script, actually not very useful,
+ the ACE classes to create processes start a new process group by
+ default, therefore there is no simple way to kill all the
+ subprocesses if a test fails.
+
Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
* docs/ACE-guidelines.html: replaced function call in
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 231c6de5635..998f01b04ff 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,31 @@
+Sun Aug 19 13:25:51 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ * bin/performance_stats.sh:
+ * bin/generate_footprint_chart.sh:
+ * bin/generate_performance_chart.sh:
+ * html/Stats/Stats.css:
+ * html/Stats/configuration.shtml:
+ * html/Stats/detailed_footprint.shtml:
+ * html/Stats/detailed_performance.shtml:
+ * html/Stats/footer.html:
+ * html/Stats/index.shtml:
+ * html/Stats/navigation.html:
+ Put the scripts and HTML documents used to generate the Stats
+ pages under CVS control. Now it is easier for people to add
+ their own libraries and tests, as well as let our user community
+ examine the way the pages are generated.
+
+ * bin/auto_run_tests.lst:
+ Remove TAO/tests/LongUpcalls/run_ami_test.pl, the tests have
+ been incorporated into the run_test.pl script.
+
+ * bin/sandbox.cpp:
+ Minor changes to the sandbox script, actually not very useful,
+ the ACE classes to create processes start a new process group by
+ default, therefore there is no simple way to kill all the
+ subprocesses if a test fails.
+
Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
* docs/ACE-guidelines.html: replaced function call in
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 231c6de5635..998f01b04ff 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,31 @@
+Sun Aug 19 13:25:51 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ * bin/performance_stats.sh:
+ * bin/generate_footprint_chart.sh:
+ * bin/generate_performance_chart.sh:
+ * html/Stats/Stats.css:
+ * html/Stats/configuration.shtml:
+ * html/Stats/detailed_footprint.shtml:
+ * html/Stats/detailed_performance.shtml:
+ * html/Stats/footer.html:
+ * html/Stats/index.shtml:
+ * html/Stats/navigation.html:
+ Put the scripts and HTML documents used to generate the Stats
+ pages under CVS control. Now it is easier for people to add
+ their own libraries and tests, as well as let our user community
+ examine the way the pages are generated.
+
+ * bin/auto_run_tests.lst:
+ Remove TAO/tests/LongUpcalls/run_ami_test.pl, the tests have
+ been incorporated into the run_test.pl script.
+
+ * bin/sandbox.cpp:
+ Minor changes to the sandbox script, actually not very useful,
+ the ACE classes to create processes start a new process group by
+ default, therefore there is no simple way to kill all the
+ subprocesses if a test fails.
+
Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
* docs/ACE-guidelines.html: replaced function call in
diff --git a/bin/auto_run_tests.lst b/bin/auto_run_tests.lst
index c2c8a8c946c..7506c255e15 100644
--- a/bin/auto_run_tests.lst
+++ b/bin/auto_run_tests.lst
@@ -83,7 +83,6 @@ TAO/tests/DSI_Gateway/run_test.pl: !MINIMUM
TAO/tests/DynAny_Test/run_test.pl: !MINIMUM
# BROKEN TAO/tests/Connection_Purging/run_test.pl: !ST
TAO/tests/LongUpcalls/run_test.pl: !MINIMUM
-TAO/tests/LongUpcalls/run_ami_test.pl: !MINIMUM
TAO/tests/Reliable_Oneways/run_test.pl: !MINIMUM
TAO/tests/Blocking_Sync_None/run_test.pl: !MINIMUM !Tru64
TAO/tests/Oneway_Buffering/run_message_count.pl: !MINIMUM
diff --git a/bin/footprint_stats.sh b/bin/footprint_stats.sh
new file mode 100755
index 00000000000..bf6d0cef9d6
--- /dev/null
+++ b/bin/footprint_stats.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+#
+# $Id$
+#
+
+if [ $# -lt 3 ]; then
+ echo "Usage: $0 <ACE_ROOT> <DEST> <DATE>"
+ exit 0
+fi
+
+ACE_ROOT=$1
+DEST=$2
+DATE=$3
+
+BINS="TAO/tests/ORB_init/ORB_init TAO/tests/ORB_destroy/ORB_destroy"
+
+LIBS="ace/libACE.a \
+ TAO/tao/libTAO.a \
+ TAO/tao/PortableServer/libTAO_PortableServer.a \
+ TAO/tao/Strategies/libTAO_Strategies.a \
+ TAO/tao/DynamicAny/libTAO_DynamicAny.a \
+ TAO/tao/DynamicInterface/libTAO_DynamicInterface.a \
+ TAO/tao/IFR_Client/libTAO_IFR_Client.a \
+ TAO/tao/BiDir_GIOP/libTAO_BiDirGIOP.a \
+ TAO/tao/Domain/libTAO_Domain.a \
+ TAO/tao/IORManipulation/libTAO_IORManip.a \
+ TAO/tao/IORTable/libTAO_IORTable.a \
+ TAO/tao/TypeCodeFactory/libTAO_TypeCodeFactory.a \
+ TAO/tao/SmartProxies/libTAO_SmartProxies.a \
+ TAO/tao/RTCORBA/libTAO_RTCORBA.a \
+ TAO/tao/RTPortableServer/libTAO_RTPortableServer.a"
+
+for i in $BINS; do
+ b=`basename $i`
+ if [ -x $i ]; then
+ (
+ echo -n $DATE " ";
+ size $i |
+ grep -v text |
+ awk '{print $4}'
+ ) >> $DEST/source/${b}_size.txt
+ fi
+done
+
+for i in $LIBS; do
+ b=`basename $i`;
+ if [ -f $i ]; then
+ (
+ echo -n $DATE " ";
+ size $i |
+ awk '{s += $4} END {print s}'
+ ) >> $DEST/source/${b}_size.txt
+ fi
+done
+
+cd $DEST/source
+
+for i in $LIBS $BINS; do
+ b=`basename $i`
+ /usr/bin/tac ${b}_size.txt > $DEST/data/${b}_size.txt
+ /usr/bin/tail -5 ${b}_size.txt > $DEST/data/LAST_${b}_size.txt
+ $ACE_ROOT/bin/generate_footprint_chart.sh ${b}_size.txt $DEST/images/${b}_size.png $b
+done
diff --git a/bin/generate_footprint_chart.sh b/bin/generate_footprint_chart.sh
new file mode 100755
index 00000000000..a3aaa1768fd
--- /dev/null
+++ b/bin/generate_footprint_chart.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# $Id$
+#
+
+gnuplot <<_EOF_ >/dev/null 2>&1
+ set xdata time
+ set timefmt '%Y/%m/%d-%H:%M'
+ set xlabel 'Date (MM/DD)'
+ set ylabel 'Size (KBytes)'
+ set terminal png small color
+ set yrange [0:3000]
+ set output "$2"
+ plot '$1' using 1:(\$2/1024.0) title '$3' w l
+ exit
+_EOF_
+
diff --git a/bin/generate_performance_chart.sh b/bin/generate_performance_chart.sh
new file mode 100755
index 00000000000..b20878817a0
--- /dev/null
+++ b/bin/generate_performance_chart.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# $Id$
+#
+
+gnuplot <<_EOF_ >/dev/null 2>&1
+ set xdata time
+ set timefmt '%Y/%m/%d-%H:%M'
+ set xlabel 'Date (YYYYMMDD)'
+ set ylabel 'Throughput (Requests/Second)'
+ set terminal png small color
+ set yrange [0:10000]
+ set output "$2"
+ plot '$1' using 1:2 title '$3' w l
+ exit
+_EOF_
diff --git a/bin/performance_stats.sh b/bin/performance_stats.sh
new file mode 100755
index 00000000000..ed0e39765da
--- /dev/null
+++ b/bin/performance_stats.sh
@@ -0,0 +1,127 @@
+#!/bin/sh
+#
+# $Id$
+#
+
+if [ $# -lt 3 ]; then
+ echo "Usage: $0 <ACE_ROOT> <DEST> <DATE>"
+ exit 0
+fi
+
+ACE_ROOT=$1
+DEST=$2
+DATE=$3
+
+COMMON_TESTS="AMI DII DSI Deferred Single_Threaded Thread_Per_Connection Thread_Pool"
+
+cd $DEST/source
+
+/bin/sync
+sleep 10
+(
+ cd $ACE_ROOT/performance-tests/TCP;
+ ./run_test.pl
+) >tcp_test.log 2>&1
+
+if grep -q 'Client throughput: ' tcp_test.log; then
+ (
+ echo -n $DATE " ";
+ awk '/^Client throughput:/ {print $3}' tcp_test.log
+ ) >> TCP.txt;
+fi
+
+/bin/sync
+sleep 10
+(
+ cd $ACE_ROOT/TAO/performance-tests/Single_Threaded_Latency;
+ ./default_configuration.pl > $DEST/source/Default.log 2>&1
+)
+if grep -q 'Total throughput: ' Default.log; then
+ (
+ echo -n $DATE " ";
+ awk '/^Total throughput:/ {print $3}' Default.log
+ ) >> Default.txt
+fi
+
+for i in $COMMON_TESTS; do
+ /bin/sync
+ sleep 10
+ (
+ cd $ACE_ROOT/TAO/performance-tests/${i}_Latency;
+ ./run_test.pl > $DEST/source/${i}.log 2>&1
+ )
+ if grep -q 'Total throughput: ' ${i}.log; then
+ (
+ echo -n $DATE " ";
+ awk '/^Total throughput:/ {print $3}' ${i}.log
+ ) >> ${i}.txt
+ fi
+done
+
+for i in $COMMON_TESTS TCP Default; do
+ $ACE_ROOT/bin/generate_performance_chart.sh ${i}.txt ${i}.png "$i"
+ /bin/cp ${i}.png $DEST/images/${i}.png
+ /usr/bin/tac ${i}.txt > $DEST/data/${i}.txt
+ /usr/bin/tail -5 ${i}.txt > $DEST/data/LAST_${i}.txt
+done
+
+gnuplot <<_EOF_ >/dev/null 2>&1
+ set xdata time
+ set timefmt '%Y/%m/%d-%H:%M'
+ set xlabel 'Date (YYYYMMDD)'
+ set ylabel 'Throughput (Requests/Second)'
+ set yrange [0:]
+ set terminal png small color
+ set output "/dev/null"
+ plot 'DII.txt' using 1:2 title 'DII' w l
+ replot 'DSI.txt' using 1:2 title 'DSI' w l
+ replot 'Deferred.txt' using 1:2 title 'Deferred' w l
+ replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l
+ replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l
+ replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l
+ replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l
+ replot 'TCP.txt' using 1:2 title 'TCP/IP' w l
+ set output "All.png"
+ replot
+ exit
+_EOF_
+
+gnuplot <<_EOF_ >/dev/null 2>&1
+ set xdata time
+ set timefmt '%Y/%m/%d-%H:%M'
+ set xlabel 'Date (YYYYMMDD)'
+ set ylabel 'Throughput (Requests/Second)'
+ set yrange [0:10000]
+ set terminal png small color
+ set output "/dev/null"
+ plot 'DII.txt' using 1:2 title 'DII' w l
+ replot 'DSI.txt' using 1:2 title 'DSI' w l
+ replot 'Deferred.txt' using 1:2 title 'Deferred' w l
+ replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l
+ replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l
+ replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l
+ replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l
+ set output "CORBA.png"
+ replot
+ exit
+_EOF_
+
+/bin/cp CORBA.png All.png $DEST/images/
+
+(
+ cd $DEST/images
+ /bin/cp *.png thumbnails
+ for i in *.png; do
+ /usr/bin/X11/mogrify -geometry '25%' thumbnails/$i
+ done
+)
+
+cd $DEST/data
+/bin/uname -a > uname.txt
+/usr/bin/gcc -v > gcc.txt 2>&1
+/lib/libc.so.6 | sed -e 's/</\&lt;/g' -e 's/>/\&gt;/g' > libc.txt
+cat /proc/cpuinfo > cpuinfo.txt
+cat /proc/meminfo > meminfo.txt
+
+cat $ACE_ROOT/ace/config.h > config.h.txt
+cat $ACE_ROOT/include/makeinclude/platform_macros.GNU > platform_macros.GNU.txt
diff --git a/bin/sandbox.cpp b/bin/sandbox.cpp
index d3f3b54f27a..fce69dedcb6 100644
--- a/bin/sandbox.cpp
+++ b/bin/sandbox.cpp
@@ -106,38 +106,40 @@ child (int /* argc */, char* argv[])
}
if (child != 0)
{
- printf("sandbox: grandchild %d exits with status %d\n",
- child, status);
+ //printf("sandbox: grandchild %d exits with status %d\n",
+ // child, status);
return status;
}
}
}
-
+
printf("sandbox: timeout for grandchild %d\n", grandchild);
- // timeout, kill the progress group (that is commit suicide!)
- killpg(getpgrp(), SIGTERM);
+ // timeout, try to kill the child
+ (void) kill(grandchild, SIGTERM);
- printf("sandbox: ooops! I should be dead!\n");
-#if 0
- // timeout kill the child...
- (void) kill(child_pid, SIGTERM); sleep(1);
- pid_t child = waitpid(child, &status, WNOHANG);
- if (child == 0)
+ // Second chance, if the child does not die, then really kill it:
+ pid_t killed = waitpid(grandchild, &status, WNOHANG);
+ if (killed == 0)
{
// TERM did not work, use the heavy duty signal
- (void) kill(child_pid, SIGQUIT); sleep(1);
- child = waitpid(child, &status, WNOHANG);
+ (void) kill(grandchild, SIGQUIT); sleep(1);
+ killed = waitpid(grandchild, &status, WNOHANG);
}
- if (child == -1)
+ if (killed == -1)
{
fprintf(stderr, "No such child (%d), panic\n",
- child_pid);
+ grandchild);
return 1;
}
+ sleep(1);
+
+ printf("sandbox: killing session %d\n", sid);
+
+ // OK, now commit suicide, kill the session ID and all their friends
+ (void) killpg(sid, SIGQUIT);
+ fprintf(stderr, "sandbox: ooops! I should be dead!\n");
- fprintf(stderr, "Child timeout\n");
-#endif
return 1;
}
diff --git a/html/Stats/Stats.css b/html/Stats/Stats.css
new file mode 100644
index 00000000000..67c9baefb84
--- /dev/null
+++ b/html/Stats/Stats.css
@@ -0,0 +1,4 @@
+BODY {
+ background: white;
+ color: black;
+}
diff --git a/html/Stats/configuration.shtml b/html/Stats/configuration.shtml
new file mode 100644
index 00000000000..5ff1d9f2f8b
--- /dev/null
+++ b/html/Stats/configuration.shtml
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+ <HEAD>
+ <!-- $Id$ -->
+ <TITLE>Configuration</TITLE>
+ <LINK href="Stats.css" rel="stylesheet" type="text/css">
+ </HEAD>
+
+ <BODY>
+
+ <!--#include file="navigation.html"-->
+
+ <P>All the experiments run on a dual Pentium III @733Mhz, with
+ 512Mb of RAM. The machine is running Linux (Debian 2.2),
+ and we use gcc-2.95.2 to compile ACE+TAO, with static libraries
+ and optimizations enabled.
+ </P>
+
+ <TABLE border="2">
+<!-- <THEAD>
+ <TR><TH>Name</TH><TH>Obtained Using</TH></TR>
+ <TR><TH colspan="2">Details</TH></TR>
+ </THEAD>
+-->
+ <TBODY>
+ <TR><TD>ACE+TAO Configuration</TD><TD>config.h</TD></TR>
+ <TR><TD colspan="2">
+<PRE>
+<!--#include file="data/config.h.txt"-->
+</PRE>
+ </TD>
+ </TR>
+ <TR><TD>ACE+TAO Configuration</TD><TD>platform_macros.GNU</TD></TR>
+ <TR><TD colspan="2">
+<PRE>
+<!--#include file="data/platform_macros.GNU.txt"-->
+</PRE>
+ </TD>
+ </TR>
+ <TR><TD>CPU Information</TD><TD>/proc/cpuinfo</TD></TR>
+ <TR><TD colspan="2">
+<PRE>
+<!--#include file="data/cpuinfo.txt"-->
+</PRE>
+ </TD>
+ </TR>
+ <TR><TD>Available Memory</TD><TD>/proc/meminfo</TD></TR>
+ <TR><TD colspan="2">
+<PRE>
+<!--#include file="data/meminfo.txt"-->
+</PRE>
+ </TD>
+ </TR>
+ <TR><TD>OS Version</TD><TD>uname -a</TD></TR>
+ <TR><TD colspan="2">
+<PRE>
+<!--#include file="data/uname.txt"-->
+</PRE>
+ </TD>
+ </TR>
+ <TR><TD>Compiler Version</TD><TD>gcc -v</TD></TR>
+ <TR><TD colspan="2">
+<PRE>
+<!--#include file="data/gcc.txt"-->
+</PRE>
+ </TD>
+ </TR>
+ <TR><TD>Library Version</TD><TD>/lib/libc.so.6</TD></TR>
+ <TR><TD colspan="2">
+<PRE>
+<!--#include file="data/libc.txt"-->
+</PRE>
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+
+<!--#include file="footer.html"-->
+
+ </BODY>
+</HTML>
diff --git a/html/Stats/detailed_footprint.shtml b/html/Stats/detailed_footprint.shtml
new file mode 100644
index 00000000000..fbdb5fda785
--- /dev/null
+++ b/html/Stats/detailed_footprint.shtml
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+ <HEAD>
+ <!-- $Id$ -->
+ <TITLE>Footprint Metrics Detailed Results</TITLE>
+ <LINK href="Stats.css" rel="stylesheet" type="text/css">
+ </HEAD>
+ <BODY>
+
+ <!--#include file="navigation.html"-->
+
+ <DIV align="center">
+ <P>
+ <TABLE BORDER="2">
+ <THEAD>
+ <TR>
+ <TH>Component Name</TH>
+ <TH>Chart</TH>
+ <TH>Recent results</TH>
+ <TH>Complete History</TH>
+ </TR>
+ </THEAD>
+ <TBODY>
+ <TR>
+ <TD>ORB_init</TD>
+ <TD><A HREF="images/ORB_init_size.png">
+ <IMG ALT="ORB_init_size" SRC="images/thumbnails/ORB_init_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_ORB_init_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/ORB_init_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>ORB_destroy</TD>
+ <TD><A HREF="images/ORB_destroy_size.png">
+ <IMG ALT="ORB_destroy_size" SRC="images/thumbnails/ORB_destroy_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_ORB_destroy_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/ORB_destroy_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libACE</TD>
+ <TD><A HREF="images/libACE.a_size.png">
+ <IMG ALT="libACE.a_size" SRC="images/thumbnails/libACE.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libACE.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libACE.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO</TD>
+ <TD><A HREF="images/libTAO.a_size.png">
+ <IMG ALT="libTAO.a_size" SRC="images/thumbnails/libTAO.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_PortableServer</TD>
+ <TD><A HREF="images/libTAO_PortableServer.a_size.png">
+ <IMG ALT="libTAO_PortableServer.a_size" SRC="images/thumbnails/libTAO_PortableServer.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_PortableServer.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_PortableServer.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_Strategies</TD>
+ <TD><A HREF="images/libTAO_Strategies.a_size.png">
+ <IMG ALT="libTAO_Strategies.a_size" SRC="images/thumbnails/libTAO_Strategies.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_Strategies.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_Strategies.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_DynamicAny</TD>
+ <TD><A HREF="images/libTAO_DynamicAny.a_size.png">
+ <IMG ALT="libTAO_DynamicAny.a_size" SRC="images/thumbnails/libTAO_DynamicAny.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_DynamicAny.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_DynamicAny.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_DynamicInterface</TD>
+ <TD><A HREF="images/libTAO_DynamicInterface.a_size.png">
+ <IMG ALT="libTAO_DynamicInterface.a_size" SRC="images/thumbnails/libTAO_DynamicInterface.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_DynamicInterface.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_DynamicInterface.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_IFR_Client</TD>
+ <TD><A HREF="images/libTAO_IFR_Client.a_size.png">
+ <IMG ALT="libTAO_IFR_Client.a_size" SRC="images/thumbnails/libTAO_IFR_Client.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_IFR_Client.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_IFR_Client.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_BiDirGIOP</TD>
+ <TD><A HREF="images/libTAO_BiDirGIOP.a_size.png">
+ <IMG ALT="libTAO_BiDirGIOP.a_size" SRC="images/thumbnails/libTAO_BiDirGIOP.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_BiDirGIOP.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_BiDirGIOP.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_Domain</TD>
+ <TD><A HREF="images/libTAO_Domain.a_size.png">
+ <IMG ALT="libTAO_Domain.a_size" SRC="images/thumbnails/libTAO_Domain.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_Domain.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_Domain.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_IORManip</TD>
+ <TD><A HREF="images/libTAO_IORManip.a_size.png">
+ <IMG ALT="libTAO_IORManip.a_size" SRC="images/thumbnails/libTAO_IORManip.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_IORManip.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_IORManip.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_IORTable</TD>
+ <TD><A HREF="images/libTAO_IORTable.a_size.png">
+ <IMG ALT="libTAO_IORTable.a_size" SRC="images/thumbnails/libTAO_IORTable.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_IORTable.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_IORTable.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_TypeCodeFactory</TD>
+ <TD><A HREF="images/libTAO_TypeCodeFactory.a_size.png">
+ <IMG ALT="libTAO_TypeCodeFactory.a_size" SRC="images/thumbnails/libTAO_TypeCodeFactory.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_TypeCodeFactory.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_TypeCodeFactory.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_SmartProxies</TD>
+ <TD><A HREF="images/libTAO_SmartProxies.a_size.png">
+ <IMG ALT="libTAO_SmartProxies.a_size" SRC="images/thumbnails/libTAO_SmartProxies.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_SmartProxies.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_SmartProxies.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_RTCORBA</TD>
+ <TD><A HREF="images/libTAO_RTCORBA.a_size.png">
+ <IMG ALT="libTAO_RTCORBA.a_size" SRC="images/thumbnails/libTAO_RTCORBA.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_RTCORBA.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_RTCORBA.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>libTAO_RTPortableServer</TD>
+ <TD><A HREF="images/libTAO_RTPortableServer.a_size.png">
+ <IMG ALT="libTAO_RTPortableServer.a_size" SRC="images/thumbnails/libTAO_RTPortableServer.a_size.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_libTAO_RTPortableServer.a_size.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/libTAO_RTPortableServer.a_size.txt">[Download]</A>
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </DIV>
+
+<!--#include file="footer.html"-->
+
+ </BODY>
+</HTML>
diff --git a/html/Stats/detailed_performance.shtml b/html/Stats/detailed_performance.shtml
new file mode 100644
index 00000000000..5f3f3024682
--- /dev/null
+++ b/html/Stats/detailed_performance.shtml
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+ <HEAD>
+ <!-- $Id$ -->
+ <TITLE>Performance Metrics Detailed Results</TITLE>
+ <LINK href="Stats.css" rel="stylesheet" type="text/css">
+ </HEAD>
+ <BODY>
+
+ <!--#include file="navigation.html"-->
+
+ <P>
+ Results for the performance experiments in
+ <CODE>$ACE_ROOT/TAO/performance-tests</CODE>.
+ The results for all the tests are combined in a single chart.
+ </P>
+ <DIV align="center">
+ <P>
+ <IMG alt="All Invocation Modes and Configurations" border=0
+ src="images/CORBA.png"
+ width="640" height="480">
+ </P>
+ <P>
+ <TABLE BORDER="2">
+ <THEAD>
+ <TR>
+ <TH>Test Name</TH>
+ <TH>Chart</TH>
+ <TH>Recent results</TH>
+ <TH>Complete History</TH>
+ </TR>
+ </THEAD>
+ <TBODY>
+ <TR>
+ <TD>AMI</TD>
+ <TD><A HREF="images/AMI.png">
+ <IMG ALT="AMI" SRC="images/thumbnails/AMI.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_AMI.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/AMI.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>DII</TD>
+ <TD><A HREF="images/DII.png">
+ <IMG ALT="DII" SRC="images/thumbnails/DII.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_DII.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/DII.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>DSI</TD>
+ <TD><A HREF="images/DSI.png">
+ <IMG ALT="DSI" SRC="images/thumbnails/DSI.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_DSI.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/DSI.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>Deferred</TD>
+ <TD><A HREF="images/Deferred.png">
+ <IMG ALT="Deferred" SRC="images/thumbnails/Deferred.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_Deferred.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/Deferred.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>Single_Threaded</TD>
+ <TD><A HREF="images/Single_Threaded.png">
+ <IMG ALT="Single_Threaded" SRC="images/thumbnails/Single_Threaded.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_Single_Threaded.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/Single_Threaded.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>Single_Threaded (Defaults)</TD>
+ <TD><A HREF="images/Default.png">
+ <IMG ALT="Default" SRC="images/thumbnails/Default.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_Default.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/Default.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>Thread_Per_Connection</TD>
+ <TD><A HREF="images/Thread_Per_Connection.png">
+ <IMG ALT="Thread_Per_Connection" SRC="images/thumbnails/Thread_Per_Connection.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_Thread_Per_Connection.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/Thread_Per_Connection.txt">[Download]</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD>Thread_Pool</TD>
+ <TD><A HREF="images/Thread_Pool.png">
+ <IMG ALT="Thread_Pool" SRC="images/thumbnails/Thread_Pool.png">
+ </A>
+ </TD>
+ <TD>
+ <PRE>
+<!--#include file="data/LAST_Thread_Pool.txt" -->
+ </PRE>
+ </TD>
+ <TD>
+ <A HREF="data/Thread_Pool.txt">[Download]</A>
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </DIV>
+
+<!--#include file="footer.html"-->
+
+ </BODY>
+</HTML>
diff --git a/html/Stats/footer.html b/html/Stats/footer.html
new file mode 100644
index 00000000000..3fafa143afc
--- /dev/null
+++ b/html/Stats/footer.html
@@ -0,0 +1,12 @@
+<!-- $Id$ -->
+<HR>
+ <address>
+ <a href="http://validator.w3.org/check/referer">
+ <img border="0"
+ src="/image/valid-html401.png"
+ alt="Valid HTML 4.01!" height="31" width="88">
+ </a>
+ <a href="mailto:coryan@uci.edu">
+ Carlos O'Ryan
+ </a>
+ </address>
diff --git a/html/Stats/index.shtml b/html/Stats/index.shtml
new file mode 100644
index 00000000000..fd57790126e
--- /dev/null
+++ b/html/Stats/index.shtml
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+ <HEAD>
+ <!-- $Id$ -->
+ <TITLE>ACE+TAO Performance and Footprint Metrics</TITLE>
+ <LINK href="Stats.css" rel="stylesheet" type="text/css">
+ </HEAD>
+ <BODY>
+
+ <!--#include file="navigation.html"-->
+
+ <P>These pages track footprint and performance metrics for ACE+TAO.
+ The results are collected on one of our nightly regression tests.
+ The complete source for the tests is available as part of the
+ ACE+TAO
+ <A HREF="http://ace.cs.wustl.edu/Download.html">
+ distribution
+ </A>.
+ The hardware and software configuration used for these tests is
+ described <A HREF="configuration.shtml">here</A>.
+ Notice, however, that the results contained here may be
+ different from what you will obtain using a TAO release or beta
+ kit, since the experiments are based on our current source tree.
+ </P>
+
+ <P>More information about ACE+TAO footprints, and the continuing
+ effort to reduce the library and application's code size can be
+ found in the
+ <A HREF="http://ace.cs.wustl.edu/cvsweb/ace-latest.cgi/ACE_wrappers/docs/ACE-subsets.html">
+ ACE+TAO subsetting
+ </A>
+ page.
+ </P>
+
+ <HR>
+
+ <H2>Performance Results</H2>
+
+ <P>ORB throughput, in requests per second,
+ using the performance test in:
+ <CODE>$ACE_ROOT/TAO/performance-tests/Single_Threaded_Latency</CODE>.
+ </P>
+ <DIV align="center">
+ <IMG alt="Single Threaded"
+ src="images/Single_Threaded.png"
+ width="640" height="480">
+ </DIV>
+
+ <HR>
+
+ <H2>Footprint Results</H2>
+
+ <P>Client footprint, in kilobytes, text and data segments for the test in
+ <CODE>$ACE_ROOT/TAO/tests/ORB_init</CODE>.
+ </P>
+ <DIV align="center">
+ <IMG alt="ORB_init"
+ src="images/ORB_init_size.png"
+ width="640" height="480">
+ </DIV>
+
+ <P>Server footprint, in kilobytes, text and data segments for the test in
+ <CODE>$ACE_ROOT/TAO/tests/ORB_init</CODE>.
+ </P>
+ <DIV align="center">
+ <IMG alt="ORB_destroy"
+ src="images/ORB_destroy_size.png"
+ width="640" height="480">
+ </DIV>
+
+<!--#include file="footer.html"-->
+
+ </BODY>
+</HTML>
diff --git a/html/Stats/navigation.html b/html/Stats/navigation.html
new file mode 100644
index 00000000000..62c778456c8
--- /dev/null
+++ b/html/Stats/navigation.html
@@ -0,0 +1,31 @@
+<!-- $Id$ -->
+
+<DIV align="center">
+ <h1>ACE+TAO Performance and Footprint Metrics</h1>
+
+ <IMG alt="DOC Laboratory" src="/image/doc.jpg"
+ width="223" height="63">
+ <TABLE>
+ <TR>
+ <TD>
+ [<A href="index.shtml">Main Page</A>]
+ </TD>
+ <TD>
+ [<A href="detailed_performance.shtml">Detailed Performance</A>]
+ </TD>
+ <TD>
+ [<A href="detailed_footprint.shtml">Detailed Footprint</A>]
+ </TD>
+ <TD>
+ [<A href="configuration.shtml">Configuration</A>]
+ </TD>
+ </TR>
+ </TABLE>
+ <TABLE>
+ <TR>
+ <TD>
+ [<A href="http://doc.ece.uci.edu/Stats/History/index.shtml">Historic Data</A>]
+ </TD>
+ </TR>
+ </TABLE>
+</DIV>