STINNER Victor added the comment:

> One of most used cases for bytearrays is accumulating. And the patch slow 
> down this case.

Please don't use the raw timeit command for micro-benchmarks, it is not 
reliable. For example, I'm unable to reproduce your "slow down" (7% on a 
microbenchmark is not that large).

My micro-benchmark using my benchmark.py script:

Common platform:
Python version: 2.7.3 (default, Aug 9 2012, 17:23:57) [GCC 4.7.1 20120720 (Red 
Hat 4.7.1-5)]
Python unicode implementation: UCS-4
CPU model: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
Timer: time.time
Platform: Linux-3.9.4-200.fc18.x86_64-x86_64-with-fedora-18-Spherical_Cow
Timer precision: 954 ns
CFLAGS: -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic 
-D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic 
-D_GNU_SOURCE -fPIC -fwrapv
Bits: int=32, long=64, long long=64, size_t=64, void*=64

Platform of campaign original:
SCM: hg revision=687dd81cee3b tag=tip branch=default date="2013-09-29 22:18 
+0200"
Date: 2013-09-30 00:59:42

Platform of campaign patched:
SCM: hg revision=687dd81cee3b+ tag=tip branch=default date="2013-09-29 22:18 
+0200"
Date: 2013-09-30 00:59:07

------------+-------------+------------
Tests       |    original |     patched
------------+-------------+------------
10**1 bytes |  859 ns (*) |      864 ns
10**3 bytes | 55.8 us (*) |     56.4 us
10**5 bytes |     5.42 ms | 5.41 ms (*)
10**7 bytes |      578 ms |  563 ms (*)
------------+-------------+------------
Total       |      583 ms |  569 ms (*)
------------+-------------+------------

So performances are the same with the patch.

----------
Added file: http://bugs.python.org/file31916/bench_bytearray.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue19087>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to