On Tuesday, 9 September 2014 at 20:47:24 UTC, Sean Kelly wrote:

Incoming messages are appended to the list and removed from the
middle during receive, so a list seemed like a natural
representation.  This could be optimized by putting a "next" ptr
inside the Message object itself and make the list literally just
a list of messages instead of a list of nodes referencing
messages.  That would eliminate half of the allocations and not
have any of the problems that a ring buffer brings with removals
from the middle or growing the list size.

Oops... I'd forgotten that Message is constructed in-place within
a Node, and so this wouldn't save any allocations.  It still
might be a bit of an optimization, but only to save a bit of
copying.

Reply via email to