bpo-34134: Advise to use imap or imap_unordered when handling long iterables. (gh-8324)

https://github.com/python/cpython/commit/3bab40db96efda2e127ef84e6501fda0cdc... commit: 3bab40db96efda2e127ef84e6501fda0cdc4f5b8 branch: master author: Windson yang <wiwindson@outlook.com> committer: Antoine Pitrou <pitrou@free.fr> date: 2019-01-25T13:01:41+01:00 summary: bpo-34134: Advise to use imap or imap_unordered when handling long iterables. (gh-8324) files: M Doc/library/multiprocessing.rst diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index a77815918d2b..987a0d508768 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -2157,6 +2157,10 @@ with the :class:`Pool` class. the process pool as separate tasks. The (approximate) size of these chunks can be specified by setting *chunksize* to a positive integer. + Note that it may cause high memory usage for very long iterables. Consider + using :meth:`imap` or :meth:`imap_unordered` with explicit *chunksize* + option for better efficiency. + .. method:: map_async(func, iterable[, chunksize[, callback[, error_callback]]]) A variant of the :meth:`.map` method which returns a result object. @@ -2175,7 +2179,7 @@ with the :class:`Pool` class. .. method:: imap(func, iterable[, chunksize]) - A lazier version of :meth:`map`. + A lazier version of :meth:`.map`. The *chunksize* argument is the same as the one used by the :meth:`.map` method. For very long iterables using a large value for *chunksize* can
participants (1)
-
Antoine Pitrou