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
