Skip to content
This repository

Erlang binding for 0MQ (v2)

tree: dad60babcb

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 c_src
Octocat-spinner-32 doc
Octocat-spinner-32 include
Octocat-spinner-32 perf
Octocat-spinner-32 src
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.md
Octocat-spinner-32 rebar
Octocat-spinner-32 rebar.config
README.md

erlzmq2

NIF based Erlang bindings for the ZeroMQ messaging library.

Copyright (c) 2011 Yurii Rashkovskii, Evax Software and Michael Truog

Overview

The erlzmq2 application provides high-performance NIF based Erlang bindings for the ZeroMQ messaging library.

Downloading

The erlzmq2 source code can be found on GitHub

$ git clone http://github.com/yrashk/erlzmq2.git

It is also available on Agner:

$ agner build erlzmq

In order to build erlzmq2 against a specific version of ZeroMQ (not master), use this:

$ ZEROMQ_VERSION=v<VERSION> agner build erlzmq

Building

Build the code

$ make

If you want to build against a specific version of ZeroMQ (not master), use this:

$ ZEROMQ_VERSION=v<VERSION> make

Build the docs

$ make docs

Run the test suite

$ make test

Run the benchmarks (requires python and matplotlib)

$ make bench

This will run performance tests and output png graphs in the graphs directory.

Please note that to behave properly on your system ZeroMQ might require some tuning.

Architecture

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.

License

The project is released under the MIT license.

Something went wrong with that request. Please try again.