[jboss-svn-commits] JBL Code SVN: r16103 - in labs/jbossesb/workspace/bramley/product/rosetta: tests/src/org/jboss/internal/soa/esb/couriers/tests and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 26 16:28:38 EDT 2007
Author: mark.little at jboss.com
Date: 2007-10-26 16:28:38 -0400 (Fri, 26 Oct 2007)
New Revision: 16103
Modified:
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java
Log:
performance improvements.
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java 2007-10-26 19:09:02 UTC (rev 16102)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java 2007-10-26 20:28:38 UTC (rev 16103)
@@ -84,8 +84,6 @@
.getAttribute(ListenerTagNames.PROTOCOL_TAG) : urlString
.split(":")[0];
- System.err.println("**protocol is "+protocol);
-
try
{
if (JMSEpr.JMS_PROTOCOL.equals(protocol))
Modified: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java 2007-10-26 19:09:02 UTC (rev 16102)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java 2007-10-26 20:28:38 UTC (rev 16103)
@@ -168,6 +168,43 @@
Assert.assertEquals(consumer.valid(), true);
}
+ @Test
+ public void testLockstepPerformance () throws Exception
+ {
+ InVMEpr epr = new InVMEpr(new URI("invm://serviceid5?true#2000"));
+ int iters = 1000;
+ Producer producer = new Producer(epr, iters, false);
+ Consumer consumer = new Consumer(epr, iters, false);
+ long stime = System.currentTimeMillis();
+
+ consumer.start();
+ producer.start();
+
+ try
+ {
+ synchronized (condition())
+ {
+ condition().wait();
+ }
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
+ long ftime = System.currentTimeMillis();
+ double factor = 1000.00 / (ftime - stime);
+ double msgsPerSecond = iters * factor;
+
+ if (!consumer.valid())
+ System.err.println("Completed "+consumer.itersCompleted());
+
+ Assert.assertEquals(consumer.valid(), true);
+
+ System.err.println("Time for "+iters+" messages is "+(ftime - stime)+" milliseconds.");
+ System.err.println("Messages per second: "+msgsPerSecond);
+ }
+
public static Object condition ()
{
return _condition;
@@ -182,7 +219,14 @@
{
public Producer (InVMEpr epr)
{
+ this(epr, InVMCourierUnitTest.ITERATIONS, true);
+ }
+
+ public Producer (InVMEpr epr, int iters, boolean debug)
+ {
_epr = epr;
+ _iters = iters;
+ _debug = debug;
}
public void run ()
@@ -191,7 +235,7 @@
{
InVMCourier courier = new InVMCourier(_epr);
int number = 0;
- int iterations = InVMCourierUnitTest.ITERATIONS;
+ int iterations = _iters;
while (number < iterations)
{
@@ -201,7 +245,8 @@
courier.deliver(msg);
- System.err.println("Delivered "+msg);
+ if (_debug)
+ System.err.println("Delivered "+msg);
Thread.yield();
}
@@ -213,13 +258,22 @@
}
private InVMEpr _epr;
+ private int _iters;
+ private boolean _debug;
}
class Consumer extends Thread
{
public Consumer (InVMEpr epr)
{
+ this(epr, InVMCourierUnitTest.ITERATIONS, true);
+ }
+
+ public Consumer (InVMEpr epr, int iters, boolean debug)
+ {
_epr = epr;
+ _iters = iters;
+ _debug = debug;
}
public void run ()
@@ -229,11 +283,12 @@
InVMCourier courier = new InVMCourier(_epr);
int i;
- for (i = 0; i < InVMCourierUnitTest.ITERATIONS; i++)
+ for (i = 0; i < _iters; i++)
{
- Message msg = courier.pickup(1000);
+ Message msg = courier.pickup(2000);
- System.err.println("Received: "+msg);
+ if (_debug)
+ System.err.println("Received: "+msg);
if (msg == null)
return;
@@ -241,8 +296,10 @@
Thread.yield();
}
- if (i == InVMCourierUnitTest.ITERATIONS)
+ if (i == _iters)
_valid = true;
+
+ _itersCompleted = i;
}
catch (Exception ex)
{
@@ -257,6 +314,11 @@
}
}
+ public int itersCompleted ()
+ {
+ return _itersCompleted;
+ }
+
public boolean valid ()
{
return _valid;
@@ -264,4 +326,7 @@
private boolean _valid = false;
private InVMEpr _epr;
+ private int _iters;
+ private boolean _debug;
+ private int _itersCompleted = 0;
}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list