All Projects → zeromq → Lzmq

zeromq / Lzmq

Licence: mit
Lua binding to ZeroMQ

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Lzmq

Netmq
A 100% native C# implementation of ZeroMQ for .NET
Stars: ✭ 2,366 (+2050.91%)
Mutual labels:  messaging, zeromq
Libzmq
ZeroMQ core engine in C++, implements ZMTP/3.1
Stars: ✭ 7,418 (+6643.64%)
Mutual labels:  messaging, zeromq
Zeromq Ng
⚡️ Next-generation Node.js bindings to the ZeroMQ library
Stars: ✭ 45 (-59.09%)
Mutual labels:  messaging, zeromq
Vuash
⚠️ Moved to GitLab.
Stars: ✭ 86 (-21.82%)
Mutual labels:  messaging
Rabbitmq Amqp1.0
AMQP 1.0 support for RabbitMQ
Stars: ✭ 88 (-20%)
Mutual labels:  messaging
Simpletcp
Simple wrapper for TCP client and server in C# with SSL support
Stars: ✭ 99 (-10%)
Mutual labels:  messaging
Derry
A script manager for Dart.
Stars: ✭ 107 (-2.73%)
Mutual labels:  ffi
Rpushbullet
R interface to the awesome Pushbullet service
Stars: ✭ 84 (-23.64%)
Mutual labels:  messaging
Chat Sdk Android
Chat SDK Android - Open Source Mobile Messenger
Stars: ✭ 1,496 (+1260%)
Mutual labels:  messaging
Mainflux
Industrial IoT Messaging and Device Management Platform
Stars: ✭ 1,341 (+1119.09%)
Mutual labels:  messaging
March hare
Idiomatic, fast and well-maintained JRuby client for RabbitMQ
Stars: ✭ 97 (-11.82%)
Mutual labels:  messaging
Xsrv
[mirror] Install and manage self-hosted services/applications, on your own server(s) - ansible collection and utilities
Stars: ✭ 89 (-19.09%)
Mutual labels:  messaging
Foundatio
Pluggable foundation blocks for building distributed apps.
Stars: ✭ 1,365 (+1140.91%)
Mutual labels:  messaging
Android Luajit Launcher
Android NativeActivity based launcher for LuaJIT, implementing the main loop within Lua land via FFI
Stars: ✭ 87 (-20.91%)
Mutual labels:  ffi
Bluetoothchat
Messaging over Bluetooth (Android)
Stars: ✭ 105 (-4.55%)
Mutual labels:  messaging
Ffi Convert Rs
Easier and safer interface between Rust, C, and other languages
Stars: ✭ 86 (-21.82%)
Mutual labels:  ffi
Mongooseim
MongooseIM is a mobile messaging platform with focus on performance and scalability
Stars: ✭ 1,387 (+1160.91%)
Mutual labels:  messaging
Communicator
Communication between iOS and watchOS apps just got a whole lot better.
Stars: ✭ 94 (-14.55%)
Mutual labels:  messaging
Matrix Commander
simple but convenient CLI-based Matrix client app for sending and receiving
Stars: ✭ 90 (-18.18%)
Mutual labels:  messaging
Quickblox Javascript Sdk
JavaScript SDK of QuickBlox cloud backend platform
Stars: ✭ 98 (-10.91%)
Mutual labels:  messaging

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].