Skip to content
This repository has been archived by the owner on Jan 21, 2021. It is now read-only.

Should see if the zeromq's proc is a worthy queue implementation #2

Closed
fquinner opened this issue Sep 16, 2015 · 1 comment
Closed

Comments

@fquinner
Copy link
Collaborator

See http://api.zeromq.org/4-0:zmq-inproc for details. Will need performance tested against existing wombatQueue to see if it's an improvement.

fquinner added a commit that referenced this issue Sep 19, 2015
@fquinner fquinner added this to the 1.0 milestone May 8, 2016
@fquinner
Copy link
Collaborator Author

fquinner commented Jun 5, 2016

OK if you look in https://github.com/fquinner/OpenMAMA-zmq/blob/master/src/queuebench.c, i have thrown together a test framework for this.

I couldn't really get any numbers for fan-in because in my test, multiple producers proved difficult as you couldn't bind to the same uri more than once... Unfortunately this means this implementation will require locking in the application bridge itself because zmq sockets are not thread safe.

So if you have to lock on both sides anyway, the inproc queue is in fact slower. I can see how it would be much faster for a specific use case where you know you have (say) 2 threads which need to receive messages and that's it, but for a mamaQueue implementation, you have to write for the general case, and when you do that, wombatQueue actually works out faster so we'll be sticking with that for the bridge.

@fquinner fquinner closed this as completed Jun 5, 2016
@fquinner fquinner removed this from the 1.0 milestone Jun 5, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant