@@ -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