30.07.14 06:59, Serhiy Storchaka написав(ла): > 30.07.14 02:45, antoine.pitrou написав(ла): >> http://hg.python.org/cpython/rev/79a5fbe2c78f >> changeset: 91935:79a5fbe2c78f >> parent: 91933:fbd104359ef8 >> user: Antoine Pitrou <solipsis at pitrou.net> >> date: Tue Jul 29 19:41:11 2014 -0400 >> summary: >> Issue #22003: When initialized from a bytes object, io.BytesIO() now >> defers making a copy until it is mutated, improving performance and >> memory use on some use cases. >> >> Patch by David Wilson. > > Did you compare this with issue #15381 [1]? > > [1] http://bugs.python.org/issue15381 Using microbenchmark from issue22003: $ cat i.py import io word = b'word' line = (word * int(79/len(word))) + b'\n' ar = line * int((4 * 1048576) / len(line)) def readlines(): return len(list(io.BytesIO(ar))) print('lines: %s' % (readlines(),)) $ ./python -m timeit -s 'import i' 'i.readlines()' Before patch: 10 loops, best of 3: 46.9 msec per loop After issue22003 patch: 10 loops, best of 3: 36.4 msec per loop After issue15381 patch: 10 loops, best of 3: 27.6 msec per loop
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4