> On 30 Aug 2016, at 5:16 , Thierry Goubier <thierry.goub...@gmail.com> wrote:
> 
> 
> I have the same concern with an Announcer optimized for certain use cases, in 
> the fact that the announcer creator is the one choosing the 'kind of' 
> optimisation it would target, hoping that the listeners will conform to that 
> use case...


There simply is no silver bullet that will give unbeatable performance in all 
scenarios; and focusing on improving one facet of the default implementation 
will inevitably lead to either
- the loss of some important property (general thread-safety if removing the 
mutex protection, ability to unsubscribe in handler if removing the copy 
operation and extending the delivery mutex protection, etc.)
- greatly degenerated performance for another facet (like #remove for OC's).

That said, the current implementation is very geared towards decent, balanced 
subscribe/unsubscribe performance, at the expense of delivery speed.
I've said it before, and still think, that offering at least one other 
implementation emphasizing delivery speed over subscription/unsubscription 
performance, in the same way the original implementation did (and/or changing 
the default Announcer to switch between the two dynamically based on 
heuristics) *would* be a valuable addition to the general library.

Cheers,
Henry

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to