Hi Marten,

I took the 0mq binding of Panu on SmalltalkHub and
it worked out of the box for the simple hello world c client/server sample
translated to pharo, slightly modified to send/receive 8k byte arrays.
What I saw in this experiment is that
the reader process (a pharo vm) was 100% cpu bound on a core
at polling the message queue in , and I saw the 0mq thread poping up in process explorer
and taking less than 1% cpu during the send/receive bench
(5 sec bench of BlockClosure).
Beeing 100% on polling doesn't hurt me, since the sample polls in a loop.
However, the raw performance numbers is far from the ZnWebSocket
experiment I made, and sounds "bizarre" to me: I had 500 block/sec
against 10k with ZnSockets (send only performance of Zn is 18k).
I think the "pattern" used in the sample may not be the best
(I have to explore other patterns of 0mq: publish/subscribe, push/pull etc. ) and I know also that in a true client server the vm could do real work instead of polling (message queuing will be handled by 0mq) so the overall system throughput should be better, but still, the difference here hurts me (roughly a x20 factor !)

I would be very interested by comments or advices based on your previous experiences
with 0mq (or other) ?

Thanks in advance

Alain

Le 07/10/2014 15:41, itli...@schrievkrom.de a écrit :
There are some good C libraries out there, which are suitable to
connect programs with each other: a good example is 0MQ.

Marten




Reply via email to