[jboss-svn-commits] JBL Code SVN: r16267 - 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
Thu Nov 1 15:27:27 EDT 2007
Author: mark.little at jboss.com
Date: 2007-11-01 15:27:27 -0400 (Thu, 01 Nov 2007)
New Revision: 16267
Modified:
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java
labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java
Log:
threaded test.
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java 2007-11-01 15:58:04 UTC (rev 16266)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java 2007-11-01 19:27:27 UTC (rev 16267)
@@ -228,7 +228,7 @@
}
semaphoreMessage.add(message);
-
+
_queue.notify();
}
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-11-01 15:58:04 UTC (rev 16266)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java 2007-11-01 19:27:27 UTC (rev 16267)
@@ -204,6 +204,49 @@
System.err.println("Time for "+iters+" messages is "+(ftime - stime)+" milliseconds.");
System.err.println("Messages per second: "+msgsPerSecond);
}
+
+ @Test
+ public void testLockstepMultiProducerPerformance () throws Exception
+ {
+ InVMEpr epr = new InVMEpr(new URI("invm://serviceid5?true#2000"));
+ int iters = 1000;
+ int numberOfProducers = 50;
+ Producer[] producer = new Producer[numberOfProducers];
+ Consumer consumer = new Consumer(epr, iters*numberOfProducers, false);
+ long stime = System.currentTimeMillis();
+
+ for (int i = 0; i < numberOfProducers; i++)
+ producer[i] = new Producer(epr, iters, false);
+
+ consumer.start();
+
+ for (int j = 0; j < numberOfProducers; j++)
+ producer[j].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 * numberOfProducers;
+
+ if (!consumer.valid())
+ System.err.println("Completed "+consumer.itersCompleted());
+
+ Assert.assertEquals(consumer.valid(), true);
+
+ System.err.println("Time for "+iters*numberOfProducers+" messages is "+(ftime - stime)+" milliseconds.");
+ System.err.println("Messages per second: "+msgsPerSecond);
+ }
public static Object condition ()
{
More information about the jboss-svn-commits
mailing list