[zeromq-dev] protocol design question

Chuck Remes cremes.devlist at mac.com
Tue Nov 15 21:45:15 CET 2011


On Nov 15, 2011, at 2:36 PM, MinRK wrote:

> e.g.
> 
> struct sequence_id {
>  uint64 number;
>  uchar  uuid[16];
> };
> 
> Is this all right? Or is there a better way to accomplish this framing?
> 
> cr
> 
> I have a general question related to this - what is the relative cost in zeromq of these being separate very-small messages versus one packed message? Has someone done perf tests for this kind of thing?

I haven't tested it, but I assume that reading a multipart message versus a single-part message is more time consuming due to 2 factors.

1. The I/O thread needs to make sure all parts are accounted for before atomic delivery.

2. The #recv has to examine the message frame for the RCVMORE bit.

It's minor work, but as we all know, the fastest code is "no code."

On a related topic, I packed these two details together because they are logically related. The unique sequence_id is a combination of sequence_number and uuid.

cr


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20111115/c87cdfd1/attachment.htm>


More information about the zeromq-dev mailing list