docs: refine worker choice strategies documentation
authorJérôme Benoit <jerome.benoit@sap.com>
Sat, 10 Jun 2023 11:50:00 +0000 (13:50 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sat, 10 Jun 2023 11:50:00 +0000 (13:50 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
README.md
src/pools/selection-strategies/README.md

index cb45449c6515818485ebb6c7eb692a54fdff043d..04fa3ab9582f05fad183d75e17d2db515963b7a7 100644 (file)
--- a/README.md
+++ b/README.md
@@ -281,7 +281,7 @@ But in general, **always profile your application**.
 
 To choose your pool consider that with a FixedThreadPool/FixedClusterPool or a DynamicThreadPool/DynamicClusterPool (in this case is important the min parameter passed to the constructor) your application memory footprint will increase.  
 Increasing the memory footprint, your application will be ready to accept more tasks, but during idle time your application will consume more memory.  
-One good choose from my point of view is to profile your application using Fixed/Dynamic worker pool, and to see your application metrics when you increase/decrease the num of workers.  
+One good choice from poolifier team point of view is to profile your application using fixed or dynamic worker pool, and to see your application metrics when you increase/decrease the num of workers.  
 For example you could keep the memory footprint low choosing a DynamicThreadPool/DynamicClusterPool with 5 workers, and allow to create new workers until 50/100 when needed, this is the advantage to use the DynamicThreadPool/DynamicClusterPool.  
 But in general, **always profile your application**.
 
index 9e409cdf4207d9b7d13acfeebd5750cde5de6174..5093beb66ff3e2498125c35e8bfd725fc9b99ae5 100644 (file)
@@ -9,10 +9,14 @@ By default, the strategy uses the average task execution time for each worker bu
 
 ### Weighted round robin
 
+The strategy assigns the next task using a robin round algorithm. The worker weights are maximum tasks execution time, once the worker has reached its maximum tasks execution time, the next task is assigned to the next worker.
+
 ### Interleaved weighted round robin
 
 ## Statistics
 
+Worker choice strategies enable only the statistics that are needed to choose the next worker to avoid unnecessary overhead.
+
 ### Median
 
 Strategies using the average task execution time for each worker can use the median instead. Median is more robust to outliers and can be used to avoid assigning tasks to workers that are currently overloaded. Median usage introduces a small overhead: measurement history must be kept for each worker and the median must be recomputed each time a new task has finished.