9 INPUT_FILE_PUSHPULL_TCP_THROUGHPUT=
"results/pushpull_tcp_thr_results.csv"
10 INPUT_FILE_REQREP_TCP_LATENCY=
"results/reqrep_tcp_lat_results.csv"
14 INPUT_FILE_PUSHPULL_INPROC_THROUGHPUT=
"results/pushpull_inproc_thr_results.csv"
15 INPUT_FILE_PUBSUBPROXY_INPROC_THROUGHPUT=
"results/pubsubproxy_inproc_thr_results.csv"
23 import matplotlib.pyplot
as plt
30 message_size_bytes, message_count, pps, mbps = np.loadtxt(csv_filename, delimiter=
',', unpack=
True)
32 fig, ax1 = plt.subplots()
36 ax1.set_xlabel(
'Message size [B]')
37 ax1.set_ylabel(
'PPS [Mmsg/s]', color=color)
38 ax1.semilogx(message_size_bytes, pps / 1e6, label=
'PPS [Mmsg/s]', marker=
'x', color=color)
39 ax1.tick_params(axis=
'y', labelcolor=color)
44 ax2.set_ylabel(
'Throughput [Gb/s]', color=color)
45 ax2.semilogx(message_size_bytes, mbps / 1e3, label=
'Throughput [Gb/s]', marker=
'o')
47 ax2.set_yticks(np.arange(0, TCP_LINK_GPBS + 1, TCP_LINK_GPBS/10))
48 ax2.tick_params(axis=
'y', labelcolor=color)
53 plt.savefig(csv_filename.replace(
'.csv',
'.png'))
57 message_size_bytes, message_count, lat = np.loadtxt(csv_filename, delimiter=
',', unpack=
True)
58 plt.semilogx(message_size_bytes, lat, label=
'Latency [us]', marker=
'o')
60 plt.xlabel(
'Message size [B]')
61 plt.ylabel(
'Latency [us]')
64 plt.savefig(csv_filename.replace(
'.csv',
'.png'))
70 plot_throughput(INPUT_FILE_PUSHPULL_TCP_THROUGHPUT,
'ZeroMQ PUSH/PULL socket throughput, TCP transport', is_tcp=
True)
71 plot_throughput(INPUT_FILE_PUSHPULL_INPROC_THROUGHPUT,
'ZeroMQ PUSH/PULL socket throughput, INPROC transport')
72 plot_throughput(INPUT_FILE_PUBSUBPROXY_INPROC_THROUGHPUT,
'ZeroMQ PUB/SUB PROXY socket throughput, INPROC transport')
73 plot_latency(INPUT_FILE_REQREP_TCP_LATENCY,
'ZeroMQ REQ/REP socket latency, TCP transport')