Message148314
Ah, sorry, false alarm. "b[:] = b" actually makes a temporary copy of the bytearray when assigning to itself (!).
However, there's still another strange regression:
$ ./python -m timeit \
-s "n=300000; f=open('10MB.bin', 'rb', buffering=0); b=bytearray(n)" \
"f.seek(0);f.readinto(b)"
-> default branch:
10000 loops, best of 3: 43 usec per loop
-> default branch with patch reverted:
10000 loops, best of 3: 27.5 usec per loop
FileIO.readinto executes a single read() into the passed buffer. |
|
Date |
User |
Action |
Args |
2011-11-25 12:52:56 | pitrou | set | recipients:
+ pitrou, eli.bendersky, flox, dmalcolm, neologix, python-dev, kaifeng |
2011-11-25 12:52:56 | pitrou | set | messageid: <1322225576.44.0.73701624914.issue11849@psf.upfronthosting.co.za> |
2011-11-25 12:52:55 | pitrou | link | issue11849 messages |
2011-11-25 12:52:55 | pitrou | create | |
|