[zeromq-dev] Zero-copy and INPROC transport
Brian T. Carcich
briantcarcich at gmail.com
Sat Jan 16 19:54:11 CET 2016
if all threads are in the same process, just use zmq to pass the pointer;
that guarantees ZMQ will not duplicates the content of the message.
of course, then you have to be very disciplined about making sure only one
thread ever frees the memory, but that should not be too hard.
On Sat, Jan 16, 2016 at 11:25 AM, Wenzel Jakob <wenzel at inf.ethz.ch> wrote:
> Dear Charles,
>
> this page notes that the creation of the message itself is guaranteed not
> to cause a copy operation.
>
> It does not, however, say anything about moving the message from one
> socket to the other, and about the behavior of zmq_recvmsg.
>
> (My question is thus if the zero-copy guarantee applies to the whole chain
> of operations.)
>
> Thank you,
> Wenzel
>
> On Jan 16, 2016, at 5:20 PM, Charles Remes <lists at chuckremes.com> wrote:
>
> Look at this man page:
>
> 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 <wenzel at inf.ethz.ch> 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
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160116/2530c868/attachment.htm>
More information about the zeromq-dev
mailing list