@@ -2408,7 +2408,7 @@ with the :class:`Pool` class.
24082408      Callbacks should complete immediately since otherwise the thread which
24092409      handles the results will get blocked.
24102410
2411-    .. method :: imap(func, iterable[, chunksize]) 
2411+    .. method :: imap(func, iterable[, chunksize, buffersize ]) 
24122412
24132413      A lazier version of :meth: `.map `.
24142414
@@ -2422,6 +2422,18 @@ with the :class:`Pool` class.
24222422      ``next(timeout) `` will raise :exc: `multiprocessing.TimeoutError ` if the
24232423      result cannot be returned within *timeout * seconds.
24242424
2425+       The *iterable * is collected immediately rather than lazily, unless a
2426+       *buffersize * is specified to limit the number of submitted tasks whose
2427+       results have not yet been yielded. If the buffer is full, iteration over
2428+       the *iterables * pauses until a result is yielded from the buffer.
2429+ 
2430+       To fully utilize pool's capacity, set *buffersize * to the number of
2431+       processes in pool (to consume *iterable * as you go) or even higher
2432+       (to prefetch *buffersize - processes * arguments).
2433+ 
2434+       .. versionadded :: 3.15 
2435+          Added the *buffersize * parameter.
2436+ 
24252437   .. method :: imap_unordered(func, iterable[, chunksize]) 
24262438
24272439      The same as :meth: `imap ` except that the ordering of the results from the
0 commit comments