Author vstinner
Recipients gregory.p.smith, neologix, pitrou, sbt, serhiy.storchaka, vstinner
Date 2013-12-08.11:02:32
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1386500552.68.0.518343539266.issue19929@psf.upfronthosting.co.za>
In-reply-to
Content
Where is the buffer size? The hardcoded 4096 value in Popen._communicate()?
   data = os.read(key.fd, 4096)

I remember that I asked you where does 4096 come from when you patched subprocess to use selectors (#18923):
http://bugs.python.org/review/18923/#ps9827

Python 3.3 uses 1024 for its select.select() implementation, 4096 for its select.poll() implementation.

Since Popen.communicate() returns the whole content of the buffer, would it be safe to increase the buffer size? For example, use 4 GB as the buffer size? Should communicate() be "fair" between stdout and stderr?

To choose a new value, we need benchmark results on different OSes, at least Windows, Linux, FreeBSD (and maybe also Solaris) since these 3 OSes have a different kernel.
History
Date User Action Args
2013-12-08 11:02:32vstinnersetrecipients: + vstinner, gregory.p.smith, pitrou, neologix, sbt, serhiy.storchaka
2013-12-08 11:02:32vstinnersetmessageid: <1386500552.68.0.518343539266.issue19929@psf.upfronthosting.co.za>
2013-12-08 11:02:32vstinnerlinkissue19929 messages
2013-12-08 11:02:32vstinnercreate