[zeromq-dev] New faster 0MQ bindings for Lua & LuaJIT2

Robert G. Jakabosky bobby at sharedrealm.com
Sat Feb 26 10:50:46 CET 2011


On Saturday 26, Pieter Hintjens wrote:
> Robert, 6M msg/second from Lua, up from 1.3M/sec! Very nice indeed.
> 
> Feel free to update http://www.zeromq.org/bindings:lua.

done.

> I'd advise you also to put these performance results into your README,
> so it's clear to visitors to the project why they want it.

and done.

> -Pieter
> 
> On Sat, Feb 26, 2011 at 9:45 AM, Robert G. Jakabosky
> 
> <bobby at sharedrealm.com> wrote:
> > Here has been a lot of talk on the Lua mailing list about a new feature
> > in LuaJIT2 called FFI (foreign function interface).  The new FFI feature
> > greatly improves the performance of Lua code when running under LuaJIT2,
> > but it doesn't work under the standard Lua VM.  So I have create a
> > hybrid Lua module [1] that has normal C bindings and FFI-based bindings
> > for 0MQ.
> > 
> > Also the new bindings have support for sending/receving messages using
> > the zmq_msg_t structure.  This improves the performance even more under
> > LuaJIT2 and gets the throughput to almost equal that of the C++
> > benchmark.
> > 
> > Throughput benchmark using the tcp transport over localhost:
> > message size: 30 [B]
> > message count: 100000000
> > 
> > Orignal Lua bindings running under Lua 5.1.4:
> > mean throughput: 1395864 [msg/s]
> > mean throughput: 335.007 [Mb/s]
> > 
> > New bindings running under Lua 5.1.4:
> > mean throughput: 1577407 [msg/s]
> > mean throughput: 378.578 [Mb/s]
> > 
> > Orignal Lua bindings running under LuaJIT2 (git HEAD):
> > mean throughput: 2516850 [msg/s]
> > mean throughput: 604.044 [Mb/s]
> > 
> > New bindings running under LuaJIT2 (git HEAD):
> > mean throughput: 5112158 [msg/s]
> > mean throughput: 1226.918 [Mb/s]
> > 
> > New bindings 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]
> > 
> > 
> > 1. https://github.com/Neopallium/lua-zmq
> > 
> > --
> > Robert G. Jakabosky
> > _______________________________________________
> > zeromq-dev mailing list
> > zeromq-dev at lists.zeromq.org
> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> 
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev


-- 
Robert G. Jakabosky



More information about the zeromq-dev mailing list