From: Windson yang Date: Fri, 25 Jan 2019 12:01:41 +0000 (+0800) Subject: bpo-34134: Advise to use imap or imap_unordered when handling long iterables. (gh... X-Git-Tag: v3.8.0a1~46 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3bab40db96efda2e127ef84e6501fda0cdc4f5b8;p=python bpo-34134: Advise to use imap or imap_unordered when handling long iterables. (gh-8324) --- diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index a77815918d..987a0d5087 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