Kaydet (Commit) 589ecda5 authored tarafından Gregory P. Smith's avatar Gregory P. Smith

Fixes issue #19929: Call os.read with 32768 within subprocess.Popen

communicate rather than 4096 for efficiency.  A microbenchmark shows
Linux and OS X both using ~50% less cpu time this way.
üst 6976104a
......@@ -1654,7 +1654,7 @@ class Popen(object):
if self._input_offset >= len(self._input):
close_unregister_and_remove(fd)
elif mode & select_POLLIN_POLLPRI:
data = os.read(fd, 4096)
data = os.read(fd, 32768)
if not data:
close_unregister_and_remove(fd)
self._fd2output[fd].append(data)
......
......@@ -18,6 +18,10 @@ Core and Builtins
Library
-------
- Issue #19929: Call os.read with 32768 within subprocess.Popen.communicate
rather than 4096 for efficiency. A microbenchmark shows Linux and OS X
both using ~50% less cpu time this way.
- Issue #19506: Use a memoryview to avoid a data copy when piping data
to stdin within subprocess.Popen.communicate. 5-10% less cpu usage.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment