NIF based Erlang bindings for the ZeroMQ messaging library.
Forked from the erlzmq2 project.
Copyright (c) 2019 erlang solutions ltd
Copyright (c) 2011 Yurii Rashkovskii, Evax Software and Michael Truog
The erlzmq application provides high-performance NIF based Erlang bindings for the ZeroMQ messaging library.
The erlzmq source code can be found on GitHub
$ git clone http://github.com/esl/erlzmq.git
Please note that to behave properly on your system ZeroMQ might require some tuning.
Install zeromq-dev package for your distro.
For examples see .travis*’ and
verification/Dockerfile*’.
Build the code
$ rebar3 compile
Build the docs
$ rebar3 docs
Run the test suite
$ rebar3 eunit
Run the benchmarks (requires python and matplotlib)
TODO
This will run performance tests and output png graphs in the graphs directory.
The bindings use Erlang's NIF (native implemented functions) interface to achieve the best performance. One extra OS thread and one pair of inproc sockets by context are used to simulate blocking recv calls without affecting the Erlang virtual machine's responsiveness.
The project is released under the MIT license.