Wednesday, January 30, 2008

zeroMQ - Fastest Messaging Ever

Interesting offering from zeroMQ who seem to be pals with Intel. I've checked out the code briefly and am surprised by the use of dynamic memory allocation at such a low level of granularity. I usually allocate a large lump and rely on paging to weed out the empty pages. Anyway, from the very brief look I've had, it's written in C++ and has AQMP compatibility and for some reason I get a whiff of Erlang. More analysis coming soon.

2 comments:

Martin said...

Thanks for looking at our stuff!

As for the dynamic allocation, we have tested both malloc and allocating big chunk of memory with O(1) alloc/dealloc functions. Both seem to have _exactly equal_ performance characteristics under Linux. We've also tried Google's tcalloc with no visible improvement. Looks like malloc implementation on Linux is quite optimised. The case may be different on other platforms and we will investigate the issue in the future - keep in mind that 0MQ is s project in progress.

ProbTrader said...

RedHat has also released an open-source middleware called MRG.

http://probtrader.blogspot.com/2008/01/open-source-off-shoring.html