Look at this man page:

http://api.zeromq.org/3-2:zmq-msg-init-data 
<http://api.zeromq.org/3-2:zmq-msg-init-data>

Zeromq does zero copy.

However, before you go and write a bunch of complex code, just use the normal 
facilities first and benchmark it. You may not need to do this extra work.


> On Jan 16, 2016, at 10:13, Wenzel Jakob <[email protected]> wrote:
> 
> Hello all,
> 
> I’m interested in using ZeroMQ to build a multithreaded application which 
> uses INPROC transport to propagate messages between threads.
> 
> My plan was to send messages using zmq_sendmsg (created using 
> zmq_msg_init_data with a custom deallocator), and to receive messages, I was 
> planning to use zmq_recvmsg.
> 
> I’m concerned if INPROC will perform unnecessary copies of messages, which 
> can be very large in my application (i.e. hundreds of megabytes). In 
> principle, it should just be possible to do it without copies by just moving 
> zmq_msg_t* from the inproc socket of one thread to that of the other — 
> however, I am not familiar enough with the implementation of ZeroMQ to know 
> if that is indeed what happens. Can anyone here advise?
> 
> Thank you in advance for your help!
> 
> Best regards,
> Wenzel
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to