• Stars
    star
    131
  • Rank 252,868 (Top 6 %)
  • Language
    Lua
  • License
    MIT License
  • Created over 11 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lua binding to ZeroMQ

Lua binding to ZeroMQ library.

Build Status Coverage Status Licence

Support ZeroMQ version 3.2.x/4.x
This library is not dropin replacement for lua-zmq library.
This library has C and FFI version of binding.

Source Code

https://github.com/zeromq/lzmq

Install

If you plan use lzmq.threads module then you should also install llthreads2

  • Using LuaRocks:
    luarocks install lua-llthreads2 or luarocks install lua-llthreads2-compat
    luarocks install lzmq or install only ffi version luarocks install lzmq-ffi

  • Using LuaDist:
    luadist install lua-llthreads2 or luadist install lua-llthreads2-compat
    luadist install lzmq or luadist install lzmq-ffi

API

This is short API description.
See also exampes from OMQ - The Guide.

Performance

To run same test you should copy original performance tests to exampes/perf2/libzmq and run runner.lua from exampes/perf2. For now it require LuaJIT and exists C and FFI version of lzmq library.
Of course you can run any test manually.

Inproc Throughput Test:

message size: 30 [B]
message count: 10000
mean throughput [Mb/s]:

# libzmq str str(ffi) msg msg(ffi)
1 349.396 307.141 393.636 186.162 239.617
2 350.007 310.398 412.371 188.132 248.011
3 377.596 311.284 413.010 205.076 281.228
4 422.535 308.206 414.007 174.406 248.679
5 392.477 311.324 411.876 181.722 274.946
6 382.470 309.917 395.127 177.528 631.413
7 393.636 324.851 415.010 186.437 282.686
8 386.910 303.298 379.627 116.919 268.908
9 397.022 311.931 415.945 187.749 244.998
10 438.196 302.763 412.229 189.813 255.646

Inproc Latency Test:

message size: 1 [B]
message count: 10000
average latency [us]:

# libzmq str str(ffi) msg msg(ffi)
1 97.356 97.378 98.221 94.274 96.880
2 95.828 96.736 95.957 100.711 96.992
3 99.656 100.347 95.672 97.981 95.312
4 96.649 99.943 94.543 96.198 94.674
5 96.013 102.196 94.184 97.575 94.990
6 96.371 97.925 98.377 95.350 97.165
7 96.253 93.625 97.198 94.856 94.544
8 95.155 96.371 94.904 96.792 95.507
9 94.703 96.698 96.924 97.951 95.527
10 95.635 97.946 95.684 96.429 92.629

Incompatibility list with lua-zmq (this is not full)

Feature lua-zmq lzmq
global zmq variable create does not create
zmq.init io_threads optional io_threads require
create message zmq.zmq_msg_t.init_XXX zmq.msg_init_XXX
message as string tostring(msg) msg:data()/tostring(msg)
message as ud msg:data() msg:pointer()
msg:close();msg:data() AV lua error

More Repositories

1

libzmq

ZeroMQ core engine in C++, implements ZMTP/3.1
C++
8,724
star
2

pyzmq

PyZMQ: Python bindings for zeromq
Python
3,423
star
3

netmq

A 100% native C# implementation of ZeroMQ for .NET
C#
2,785
star
4

jeromq

Pure Java ZeroMQ
Java
2,265
star
5

cppzmq

Header-only C++ binding for libzmq
C++
1,689
star
6

zeromq.js

⚡ Node.js bindings to the ØMQ library
TypeScript
1,331
star
7

czmq

High-level C binding for ØMQ
C
1,094
star
8

zmq.rs

A native implementation of ØMQ in Rust
Rust
941
star
9

zyre

Zyre - an open-source framework for proximity-based peer-to-peer applications
C
836
star
10

jzmq

Java binding for ZeroMQ
Java
580
star
11

goczmq

goczmq is a golang wrapper for CZMQ.
Go
548
star
12

php-zmq

ZeroMQ for PHP
C
542
star
13

zeromq4-x

ØMQ 4.x stable release branch - bug fixes only
C++
434
star
14

zmqpp

0mq 'highlevel' C++ bindings
C++
408
star
15

zeromq2-x

ØMQ/2.x distribution
C++
365
star
16

malamute

The ZeroMQ Enterprise Messaging Broker
C
308
star
17

gomq

Pure Go Implementation of a Subset of ZeroMQ
Go
291
star
18

clrzmq

CLR (.NET & Mono) binding for 0MQ
C#
272
star
19

filemq

FileMQ is a publish-subscribe file service based on 0MQ
Java
267
star
20

rbzmq

Ruby binding for 0MQ
C
249
star
21

clrzmq4

ZeroMQ C# namespace (.NET and mono, Windows, Linux and MacOSX, x86 and amd64)
C#
234
star
22

zeromq3-x

ØMQ/3.2 release branch - bug fixes only
C++
228
star
23

zproto

A protocol framework for ZeroMQ
C
227
star
24

chumak

Pure Erlang implementation of ZeroMQ Message Transport Protocol.
Erlang
189
star
25

JSMQ

Javascript client for ZeroMQ/NetMQ
JavaScript
188
star
26

erlzmq2

Erlang binding for 0MQ (v2)
C
165
star
27

libcurve

An encryption and authentication library for ZeroMQ applications
C
160
star
28

zproject

CLASS Project Generator
Shell
142
star
29

gitdown

Turn github into your publishing platform
Perl 6
130
star
30

zeromq4-1

ZeroMQ 4.1.x stable release branch - bug fixes only
C++
124
star
31

pyre

Python port of Zyre
Python
117
star
32

exzmq

ZeroMQ for Elixir
Elixir
113
star
33

fszmq

An F# binding for the ZeroMQ distributed computing library. For more information, please visit:
F#
112
star
34

majordomo

Majordomo Project
C
110
star
35

cljzmq

Clojure bindings for ØMQ
Clojure
105
star
36

dafka

Dafka is a decentralized distributed streaming platform
C
103
star
37

rfc

ZeroMQ RFC project
C
101
star
38

gyre

Golang port of Zyre
Go
87
star
39

zwssock

ZeroMQ WebSocket library for CZMQ
C
85
star
40

jszmq

Javascript port of zeromq
TypeScript
72
star
41

libzmtp

Minimal ZMTP implementation in C
C
53
star
42

zbroker

Elastic pipes
C
50
star
43

ingescape

Model-based framework for broker-free distributed software environments. Any language, any OS, web, cloud.
C
47
star
44

czmqpp

C++ wrapper for czmq. Aims to be minimal, simple and consistent.
C++
44
star
45

cookbook

ZeroMQ Cookbook
Python
32
star
46

pyczmq

Python CZMQ bindings
Python
31
star
47

zeromq.org

ZeroMQ Website
HTML
30
star
48

zebra

REST/HTTP to XRAP gateway
C++
26
star
49

jeromq-jms

JeroMQ JMS
Java
24
star
50

zmtpdump

ZeroMQ Transport Protocol packet analyzer
Roff
24
star
51

jzmq-api

A Java ØMQ API for abstracting the various implementations of ZeroMQ Message Transport Protocol
Java
24
star
52

zmq-jni

Simple High Performance JNI Wrapper for ØMQ
Java
22
star
53

perlzmq

version agnostic Perl bindings for zeromq
Perl
22
star
54

zmtp

Stuff related to the ZMTP protocol
C
18
star
55

contiki-zmtp

ZMTP for Contiki OS
C
16
star
56

jyre

Java implementation of ZRE protocol
Java
14
star
57

zccp

ZeroMQ Command & Control Protocol
Go
14
star
58

f77_zmq

Fortran binding for ZeroMQ
C
13
star
59

zeps

ZeroMQ Enterprise Publish-Subscribe (ZEPS) **DEPRECATED**
C
12
star
60

ztools

Tools for ØMQ auto-builds and API site
Perl
12
star
61

mruby-zmq

mruby bindings for libzmq (v4)
C
10
star
62

zeromq2-0

Packaging project for ØMQ/2.0 series
C++
9
star
63

zkernel

z kernel
C
9
star
64

nimczmq

Nim ( http://nim-lang.org/ ) bindings for CZMQ
Nim
6
star
65

curvezmq-java

Java
5
star
66

gozyre

Go bindings for zeromq libzyre - an open-source framework for proximity-based peer-to-peer applications
Go
5
star
67

zlabs

Labs project for experimenting with CZMQ
Shell
4
star
68

issues

Issue test cases
C
4
star
69

zdiscgo

CZMQ service discovery zactor with support for Go plugins.
C
4
star
70

jdafka

Dafka protocol implementation in Java
Java
4
star
71

zeromq-buildbot

A buildbot based regression tester for Zeromq
Python
3
star
72

azmq1-0

v1.0 release of azmq
C++
3
star
73

lyre

Lua port of Zyre
Lua
3
star
74

jeromq3-x

Java
3
star
75

jzmq3-x

Java
2
star
76

zmtp-java

Java
2
star
77

clrzmq2

Old repository path for clrzmq
2
star
78

libzmq-fuzz-corpora

fuzzers corpus files for libzmq are stored in binary format in this repository
1
star
79

zeromq-download-redirect

HTML
1
star
80

libzmq-relicense

This repo contains information regarding re-licensing libzmq
Python
1
star