|
|
|
@ -6,8 +6,40 @@ Lua bindings to zeromq2.
|
|
|
|
Installation
|
|
|
|
Installation
|
|
|
|
============
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
With LuaRocks 2.0.4.1:
|
|
|
|
$ luarocks install https://github.com/Neopallium/lua-zmq/raw/master/rockspecs/lua-zmq-scm-1.rockspec
|
|
|
|
$ luarocks install https://github.com/Neopallium/lua-zmq/raw/master/rockspecs/lua-zmq-scm-1.rockspec
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
With CMake:
|
|
|
|
|
|
|
|
$ git clone git://github.com/Neopallium/lua-zmq.git
|
|
|
|
|
|
|
|
$ cd lua-zmq ; mkdir build ; cd build
|
|
|
|
|
|
|
|
$ cmake ..
|
|
|
|
|
|
|
|
$ make
|
|
|
|
|
|
|
|
$ sudo make install
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Throughput benchmark
|
|
|
|
|
|
|
|
====================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Throughput benchmark using the tcp transport over localhost:
|
|
|
|
|
|
|
|
message size: 30 [B]
|
|
|
|
|
|
|
|
message count: 100000000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using send/recv functions running under Lua 5.1.4:
|
|
|
|
|
|
|
|
mean throughput: 1577407 [msg/s]
|
|
|
|
|
|
|
|
mean throughput: 378.578 [Mb/s]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using send/recv functions running under LuaJIT2 (git HEAD):
|
|
|
|
|
|
|
|
mean throughput: 5112158 [msg/s]
|
|
|
|
|
|
|
|
mean throughput: 1226.918 [Mb/s]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using send_msg/recv_msg functions running under LuaJIT2 (git HEAD):
|
|
|
|
|
|
|
|
mean throughput: 6160911 [msg/s]
|
|
|
|
|
|
|
|
mean throughput: 1478.619 [Mb/s]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C++ code:
|
|
|
|
|
|
|
|
mean throughput: 6241452 [msg/s]
|
|
|
|
|
|
|
|
mean throughput: 1497.948 [Mb/s]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Running benchmarks
|
|
|
|
Running benchmarks
|
|
|
|
==================
|
|
|
|
==================
|
|
|
|
|
|
|
|
|
|
|
|
@ -15,10 +47,10 @@ When running the benchmarks you will need run two different scripts (one 'local'
|
|
|
|
|
|
|
|
|
|
|
|
Throughput benchmark:
|
|
|
|
Throughput benchmark:
|
|
|
|
# first start local script
|
|
|
|
# first start local script
|
|
|
|
$ luajit-2 perf/local_thr.lua "tcp://lo:5555" 50 1000000
|
|
|
|
$ luajit-2 perf/local_thr.lua "tcp://lo:5555" 30 1000000
|
|
|
|
|
|
|
|
|
|
|
|
# then in another window start remote script
|
|
|
|
# then in another window start remote script
|
|
|
|
$ luajit-2 perf/remote_thr.lua "tcp://localhost:5555" 50 1000000
|
|
|
|
$ luajit-2 perf/remote_thr.lua "tcp://localhost:5555" 30 1000000
|
|
|
|
|
|
|
|
|
|
|
|
Latency benchmark:
|
|
|
|
Latency benchmark:
|
|
|
|
# first start local script
|
|
|
|
# first start local script
|
|
|
|
|