From 7a5db6041f4f11ed502fa7446da900509dedb00f Mon Sep 17 00:00:00 2001 From: malosek Date: Wed, 16 Sep 2009 12:22:36 +0200 Subject: added newly added socket options to all language bindings, P2P model changed to PUB/SUB for throughput tests --- perf/java/local_thr.java | 68 ++++++++++++++++++++++++++--------------------- perf/java/remote_thr.java | 60 ++++++++++++++++++++++------------------- 2 files changed, 69 insertions(+), 59 deletions(-) (limited to 'perf/java') diff --git a/perf/java/local_thr.java b/perf/java/local_thr.java index f5d3718..450aed5 100644 --- a/perf/java/local_thr.java +++ b/perf/java/local_thr.java @@ -21,45 +21,51 @@ import org.zmq.*; class local_thr { - public static void main (String [] args) - { - if (args.length != 3) { - System.out.println ("usage: local_thr " + - " "); - return; - } + public static void main (String [] args) + { + if (args.length != 3) { + System.out.println ("usage: local_thr " + + " "); + return; + } - String bindTo = args [0]; - long messageSize = Integer.parseInt (args [1]); - long messageCount = Integer.parseInt (args [2]); + String bindTo = args [0]; + long messageSize = Integer.parseInt (args [1]); + long messageCount = Integer.parseInt (args [2]); - org.zmq.Context ctx = new org.zmq.Context (1, 1); + org.zmq.Context ctx = new org.zmq.Context (1, 1); - org.zmq.Socket s = new org.zmq.Socket (ctx, org.zmq.Socket.P2P); - s.bind (bindTo); + org.zmq.Socket s = new org.zmq.Socket (ctx, org.zmq.Socket.SUB); - byte [] data = s.recv (0); - assert (data.length == messageSize); + s.setsockopt (org.zmq.Socket.SUBSCRIBE , "*"); - long start = System.currentTimeMillis (); + // Add your socket options here. + // For example ZMQ_RATE, ZMQ_RECOVERY_IVL and ZMQ_MCAST_LOOP for PGM. - for (int i = 1; i != messageCount; i ++) { - data = s.recv (0); - assert (data.length == messageSize); - } + s.bind (bindTo); - long end = System.currentTimeMillis (); + byte [] data = s.recv (0); + assert (data.length == messageSize); - long elapsed = (end - start) * 1000; - if (elapsed == 0) - elapsed = 1; + long start = System.currentTimeMillis (); - long throughput = messageCount * 1000000 / elapsed; - double megabits = (double) (throughput * messageSize * 8) / 1000000; + for (int i = 1; i != messageCount; i ++) { + data = s.recv (0); + assert (data.length == messageSize); + } - System.out.println ("message size: " + messageSize + " [B]"); - System.out.println ("message count: " + messageCount); - System.out.println ("mean throughput: " + throughput + "[msg/s]"); - System.out.println ("mean throughput: " + megabits + "[Mb/s]"); - } + long end = System.currentTimeMillis (); + + long elapsed = (end - start) * 1000; + if (elapsed == 0) + elapsed = 1; + + long throughput = messageCount * 1000000 / elapsed; + double megabits = (double) (throughput * messageSize * 8) / 1000000; + + System.out.println ("message size: " + messageSize + " [B]"); + System.out.println ("message count: " + messageCount); + System.out.println ("mean throughput: " + throughput + "[msg/s]"); + System.out.println ("mean throughput: " + megabits + "[Mb/s]"); + } } diff --git a/perf/java/remote_thr.java b/perf/java/remote_thr.java index f505600..9182a8f 100644 --- a/perf/java/remote_thr.java +++ b/perf/java/remote_thr.java @@ -21,33 +21,37 @@ import org.zmq.*; class remote_thr { - public static void main (String [] args) - { - if (args.length != 3) { - System.out.println ("usage: remote_thr " + - " "); - return; - } - - // Parse the command line arguments. - String connectTo = args [0]; - int messageSize = Integer.parseInt (args [1]); - int messageCount = Integer.parseInt (args [2]); - - org.zmq.Context ctx = new org.zmq.Context (1, 1); - - org.zmq.Socket s = new org.zmq.Socket (ctx, org.zmq.Socket.P2P); - s.connect (connectTo); - - byte msg [] = new byte [messageSize]; - for (int i = 0; i != messageCount; i++) - s.send (msg, 0); - - try { - Thread.sleep (10000); - } - catch (InterruptedException e) { - e.printStackTrace (); - } + public static void main (String [] args) + { + if (args.length != 3) { + System.out.println ("usage: remote_thr " + + " "); + return; + } + + // Parse the command line arguments. + String connectTo = args [0]; + int messageSize = Integer.parseInt (args [1]); + int messageCount = Integer.parseInt (args [2]); + + org.zmq.Context ctx = new org.zmq.Context (1, 1); + + org.zmq.Socket s = new org.zmq.Socket (ctx, org.zmq.Socket.PUB); + + // Add your socket options here. + // For example ZMQ_RATE, ZMQ_RECOVERY_IVL and ZMQ_MCAST_LOOP for PGM. + + s.connect (connectTo); + + byte msg [] = new byte [messageSize]; + for (int i = 0; i != messageCount; i++) + s.send (msg, 0); + + try { + Thread.sleep (10000); + } + catch (InterruptedException e) { + e.printStackTrace (); + } } } -- cgit v1.2.3