-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/21483/
-----------------------------------------------------------

Review request for qpid, Alan Conway, Andrew Stitcher, and Pavel Moravec.


Repository: qpid


Description
-------

Previous releases (e.g. 0.18) used to shared almost all message state. This was 
not correct and the current codebase only shares the incoming message as read 
off the wire. However, this leads to higher memory consumption in the fanout 
case.

There are some optimisations we could make to that. Two different changes are 
included in this patch for review and comment. With these both in place, 1000 
messages shared between 500 queues dropped from taking around 81k to taking 
around 43k as compared with the 0.18 release which took around 27k.

The two changes are:

(1) share some of the immutable items that don't arrive over the wire but don't 
need to be changed per queue, e.g. expiration and publisher

(2) make the annotations map (which seems to take a large amount of memory even 
when empty) optional using a custom template (the boost optional template 
doesn't save any memory).


Diffs
-----

  /trunk/qpid/cpp/src/qpid/broker/Message.h 1594633 
  /trunk/qpid/cpp/src/qpid/broker/Message.cpp 1594633 

Diff: https://reviews.apache.org/r/21483/diff/


Testing
-------

make test passes


Thanks,

Gordon Sim

Reply via email to