[zeromq-dev] zmq_poll
Chuck Remes
cremes.devlist at mac.com
Sat May 22 00:52:53 CEST 2010
On May 21, 2010, at 3:46 PM, Martin Sustrik wrote:
> Serge Aleynikov wrote:
>> Sounds exciting. Does it mean you are putting it on your development
>> plate? ;-)
>>
>> Not sure how much support you need to justify this feature, but you have
>> my vote! This will make architecture of 0MQ more naturally blending
>> with the philosophy of Erlang, and hence the Erlang 0MQ driver will be
>> more straight forward to implement without bending backwards.
>
> Give me the weekend to think about it.
>
> The change would simplify the architecture and allow sockets to be
> migrated between threads (given the proper memory barriers).
>
> On the other hand it would have performance impact. Specifically,
> zmq_poll would be somehow slower as it would have to deal with more fds
> (one per 0MQ socket). Also, memory consumption would be higher given
> larger number of open fds.
>
> Thoughts?
I'm not really in favor of anything that makes zmq_poll slower. All of the code I am writing with 0mq utilizes non-blocking sockets and polling so I can process things in an asynch fashion.
My whole goal is to process every socket in a given context within a single thread. If I need more CPU, I spin up a new context in a separate thread and do all of my processing asynchronously. As of now I'm not sharing data between contexts but I clearly could using ipc/inproc transports.
I hate paying the penalty for memory barriers / mutexes / semaphores / condition variables, etc.
My 2 cents.
cr
More information about the zeromq-dev
mailing list