summaryrefslogtreecommitdiffstats
path: root/external_libs/python/pyzmq-14.7.0/examples/bench/plot_latency.py
diff options
context:
space:
mode:
Diffstat (limited to 'external_libs/python/pyzmq-14.7.0/examples/bench/plot_latency.py')
-rw-r--r--external_libs/python/pyzmq-14.7.0/examples/bench/plot_latency.py84
1 files changed, 0 insertions, 84 deletions
diff --git a/external_libs/python/pyzmq-14.7.0/examples/bench/plot_latency.py b/external_libs/python/pyzmq-14.7.0/examples/bench/plot_latency.py
deleted file mode 100644
index f50ef295..00000000
--- a/external_libs/python/pyzmq-14.7.0/examples/bench/plot_latency.py
+++ /dev/null
@@ -1,84 +0,0 @@
-"""Plot latency data from messaging benchmarks.
-
-To generate the data for each library, I started the server and then did
-the following for each client::
-
- from xmlrpc_client import client
- for i in range(9):
- s = '0'*10**i
- print s
- %timeit client.echo(s)
-"""
-
-from matplotlib.pylab import *
-
-rawdata = """# Data in milliseconds
-Bytes JSONRPC PYRO XMLRPC pyzmq_copy pyzmq_nocopy
-1 2.15 0.186 2.07 0.111 0.136
-10 2.49 0.187 1.87 0.115 0.137
-100 2.5 0.189 1.9 0.126 0.138
-1000 2.54 0.196 1.91 0.129 0.141
-10000 2.91 0.271 2.77 0.204 0.197
-100000 6.65 1.44 9.17 0.961 0.546
-1000000 50.2 15.8 81.5 8.39 2.25
-10000000 491 159 816 91.7 25.2
-100000000 5010 1560 8300 893 248
-
-"""
-with open('latency.csv','w') as f:
- f.writelines(rawdata)
-
-data = csv2rec('latency.csv',delimiter='\t')
-
-loglog(data.bytes, data.xmlrpc*1000, label='XMLRPC')
-loglog(data.bytes, data.jsonrpc*1000, label='JSONRPC')
-loglog(data.bytes, data.pyro*1000, label='Pyro')
-loglog(data.bytes, data.pyzmq_nocopy*1000, label='PyZMQ')
-loglog(data.bytes, len(data.bytes)*[60], label='Ping')
-legend(loc=2)
-title('Latency')
-xlabel('Number of bytes')
-ylabel('Round trip latency ($\mu s$)')
-grid(True)
-show()
-savefig('latency.png')
-
-clf()
-
-semilogx(data.bytes, 1000/data.xmlrpc, label='XMLRPC')
-semilogx(data.bytes, 1000/data.jsonrpc, label='JSONRPC')
-semilogx(data.bytes, 1000/data.pyro, label='Pyro')
-semilogx(data.bytes, 1000/data.pyzmq_nocopy, label='PyZMQ')
-legend(loc=1)
-xlabel('Number of bytes')
-ylabel('Message/s')
-title('Message Throughput')
-grid(True)
-show()
-savefig('msgs_sec.png')
-
-clf()
-
-loglog(data.bytes, 1000/data.xmlrpc, label='XMLRPC')
-loglog(data.bytes, 1000/data.jsonrpc, label='JSONRPC')
-loglog(data.bytes, 1000/data.pyro, label='Pyro')
-loglog(data.bytes, 1000/data.pyzmq_nocopy, label='PyZMQ')
-legend(loc=3)
-xlabel('Number of bytes')
-ylabel('Message/s')
-title('Message Throughput')
-grid(True)
-show()
-savefig('msgs_sec_log.png')
-
-clf()
-
-semilogx(data.bytes, data.pyro/data.pyzmq_nocopy, label="No-copy")
-semilogx(data.bytes, data.pyro/data.pyzmq_copy, label="Copy")
-xlabel('Number of bytes')
-ylabel('Ratio throughputs')
-title('PyZMQ Throughput/Pyro Throughput')
-grid(True)
-legend(loc=2)
-show()
-savefig('msgs_sec_ratio.png')