[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