2017-08-04 17:38 GMT+02:00 Sijie Guo <guosi...@gmail.com>:

> On Aug 4, 2017 5:27 AM, "Enrico Olivelli" <eolive...@gmail.com> wrote:
>
> Hi bookkeepers,
> I noticed that digests are computed on the mailWorkerPool during addEntry
> I think that it is better to do such computation outside the pool
>
>
> I have drafted a patch to share my code
> https://github.com/apache/bookkeeper/pull/389
> the patch covers only LedgerHandleAdv as it is just a proof of concept
>
> opinions ?
>
>
> Because there is always a thread need to run this computation, I am not
> sure how much performance gain you can get from this?
>
> Do you have any performance results before making any such changes?
>

not yet

I see your point: as the number of CPUs is limited from an higher point of
view the global throughput will not change

My idea comes from the fact the addEntry is called from applications
threads, the mainWorkerPool is used for delivering callbacks, if I keep
busy a thread from that pool and it is bounded in size I am limiting the
capacity to deliver callbacks to application threads which are waiting for
acks of adds or reads.

Another point is that it easy to track them/profile "application" threads,
the mainWorkerPool is shared and does many kind of operations.

I will do some tests and share my results (as soon as I will be  back from
vacation)

-- Enrico



>
> Sijie
>
>
> -- Enrico
>

Reply via email to