[New-bugs-announce] [issue18329] for line in socket.makefile() speed degradation

Марк Коренберг report at bugs.python.org
Sat Jun 29 23:25:58 CEST 2013


New submission from Марк Коренберг:

Results or running attached program:
$ python2.7 qwe.py 
TCP  mode, makefile method. 198807.2 lines per second (189.6 MB/s). Delay is 5.03 seconds
TCP  mode,   fdopen method. 1041666.7 lines per second (993.4 MB/s). Delay is 0.96 seconds
UNIX mode, makefile method. 2040816.3 lines per second (1946.3 MB/s). Delay is 0.49 seconds
UNIX mode,   fdopen method. 1923076.9 lines per second (1834.0 MB/s). Delay is 0.52 seconds

$ python3.2 qwe.py 
TCP  mode, makefile method. 275482.1 lines per second (262.7 MB/s). Delay is 3.63 seconds
TCP  mode,   fdopen method. 909090.9 lines per second (867.0 MB/s). Delay is 1.10 seconds
UNIX mode, makefile method. 323624.6 lines per second (308.6 MB/s). Delay is 3.09 seconds
UNIX mode,   fdopen method. 1694915.3 lines per second (1616.4 MB/s). Delay is 0.59 seconds

----------------------------------------------
1. in every case, socket.makefile() is MUCH slower than os.fdopen() when used as "for line in fileobject"
2. compare speeds between python 2.7 and python 3.2 in same operation. Especially, socketpair+makefile
3. Why not to return os.fdopen() for sockets when socket.makefile() called on unix systems?

----------
components: IO, Library (Lib)
files: qwe.py
messages: 192044
nosy: mmarkk
priority: normal
severity: normal
status: open
title: for line in socket.makefile() speed degradation
type: performance
versions: Python 3.2, Python 3.3, Python 3.4, Python 3.5
Added file: http://bugs.python.org/file30731/qwe.py

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue18329>
_______________________________________


More information about the New-bugs-announce mailing list