merlimat opened a new pull request, #3546:
URL: https://github.com/apache/bookkeeper/pull/3546

   ### Motivation
   
   `OrderedExecutor` is used extensively throughout the BK codebase and its 
performance is critical when there are many small entries.
   
   In the past we have experimented with different `BlockingQueue` backends 
inside the JDK default `ThreadPoolExecutor` implementation. 
   
   The main problem with `ThreadPoolExecutor` is that is not using the 
`drainTo()` to avoid contention, because it's not making any assumptions on the 
queue type. If we assume an array based queue (like `ArrayBlockingQueue`), then 
the `drainTo()` makes it much more efficient.
   
   A single executor with 16 thread submitting tasks can now process 46M tasks/s
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to