[Python-checkins] Small speed-up for the convolve() recipe. (GH-106371)

rhettinger webhook-mailer at python.org
Mon Jul 3 16:38:41 EDT 2023


https://github.com/python/cpython/commit/77090370952307730ea71d68b848cce0dc8cbd83
commit: 77090370952307730ea71d68b848cce0dc8cbd83
branch: main
author: Raymond Hettinger <rhettinger at users.noreply.github.com>
committer: rhettinger <rhettinger at users.noreply.github.com>
date: 2023-07-03T15:38:38-05:00
summary:

Small speed-up for the convolve() recipe. (GH-106371)

files:
M Doc/library/itertools.rst

diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 56d6599798af2..a2d1798a2c6da 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -1085,8 +1085,8 @@ The following recipes have a more mathematical flavor:
        kernel = tuple(kernel)[::-1]
        n = len(kernel)
        padded_signal = chain(repeat(0, n-1), signal, repeat(0, n-1))
-       for window in sliding_window(padded_signal, n):
-           yield math.sumprod(kernel, window)
+       windowed_signal = sliding_window(padded_signal, n)
+       return map(math.sumprod, repeat(kernel), windowed_signal)
 
    def polynomial_from_roots(roots):
        """Compute a polynomial's coefficients from its roots.



More information about the Python-checkins mailing list