[issue12805] Optimizations for bytes.join() et. al
Serhiy Storchaka
report at bugs.python.org
Sat Oct 20 18:24:42 CEST 2012
Serhiy Storchaka added the comment:
> Ok, but does it really make a difference and in which cases?
Up to 40% on Athlon and up to 70% on Atom.
> In other words, do you have benchmark numbers? :)
Attached results for AMD Athlon 64 X2 4600+ and Intel Atom N570 @ 1.66GHz
under 32-bit Linux. You can run the benchmark on your machine (requires Posix-
compatible shell, sed awk).
----------
Added file: http://bugs.python.org/file27634/bytes_join_bench.res
Added file: http://bugs.python.org/file27635/bytes_join_bench_2.res
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12805>
_______________________________________
-------------- next part --------------
0 x 3 0.313 usec 0.34 usec -8%
1 x 3 0.311 usec 0.307 usec +1%
2 x 3 0.322 usec 0.3 usec +7%
5 x 3 0.322 usec 0.31 usec +4%
10 x 3 0.319 usec 0.345 usec -8%
20 x 3 0.32 usec 0.323 usec -1%
50 x 3 0.356 usec 0.355 usec +0%
100 x 3 0.358 usec 0.364 usec -2%
1000 x 3 0.908 usec 0.899 usec +1%
0 x 10 0.623 usec 0.529 usec +18%
1 x 10 0.61 usec 0.543 usec +12%
2 x 10 0.651 usec 0.532 usec +22%
5 x 10 0.655 usec 0.591 usec +11%
10 x 10 0.683 usec 0.584 usec +17%
20 x 10 0.681 usec 0.615 usec +11%
50 x 10 0.825 usec 0.878 usec -6%
100 x 10 0.861 usec 0.888 usec -3%
1000 x 10 2.37 usec 2.27 usec +4%
0 x 100 4.55 usec 3.41 usec +33%
1 x 100 4.39 usec 3.56 usec +23%
2 x 100 4.83 usec 3.33 usec +45%
5 x 100 4.98 usec 3.76 usec +32%
10 x 100 5.17 usec 3.98 usec +30%
20 x 100 5.11 usec 4.28 usec +19%
50 x 100 5.99 usec 6.45 usec -7%
100 x 100 6.81 usec 6.46 usec +5%
1000 x 100 40.8 usec 40.8 usec +0%
0 x 1000 43.3 usec 30.6 usec +42%
1 x 1000 41.9 usec 37.8 usec +11%
2 x 1000 46 usec 35.7 usec +29%
5 x 1000 46.1 usec 35.9 usec +28%
10 x 1000 49.9 usec 36.2 usec +38%
20 x 1000 49.4 usec 45.8 usec +8%
50 x 1000 96.3 usec 95.7 usec +1%
100 x 1000 125 usec 126 usec -1%
1000 x 1000 1.74 msec 1.74 msec +0%
0 x 10000 565 usec 458 usec +23%
1 x 10000 573 usec 473 usec +21%
2 x 10000 635 usec 454 usec +40%
5 x 10000 609 usec 504 usec +21%
10 x 10000 693 usec 597 usec +16%
20 x 10000 718 usec 682 usec +5%
50 x 10000 2.53 msec 2.51 msec +1%
100 x 10000 3.56 msec 3.52 msec +1%
1000 x 10000 16.7 msec 17 msec -2%
-------------- next part --------------
0 x 3 1.01 usec 0.935 usec +8%
1 x 3 0.993 usec 0.936 usec +6%
2 x 3 0.991 usec 0.93 usec +7%
5 x 3 0.991 usec 0.941 usec +5%
10 x 3 0.991 usec 0.936 usec +6%
20 x 3 1.03 usec 0.974 usec +6%
50 x 3 1.19 usec 1.14 usec +4%
100 x 3 1.15 usec 1.17 usec -2%
1000 x 3 1.85 usec 1.89 usec -2%
0 x 10 1.56 usec 1.47 usec +6%
1 x 10 1.56 usec 1.42 usec +10%
2 x 10 1.64 usec 1.48 usec +11%
5 x 10 1.77 usec 1.53 usec +16%
10 x 10 1.78 usec 1.48 usec +20%
20 x 10 1.95 usec 1.55 usec +26%
50 x 10 2.65 usec 2.64 usec +0%
100 x 10 2.71 usec 2.73 usec -1%
1000 x 10 5.12 usec 4.87 usec +5%
0 x 100 12.1 usec 7.49 usec +62%
1 x 100 9.88 usec 7.67 usec +29%
2 x 100 12.8 usec 7.64 usec +68%
5 x 100 12.8 usec 8.22 usec +56%
10 x 100 12.8 usec 8.39 usec +53%
20 x 100 14.2 usec 8.92 usec +59%
50 x 100 16.3 usec 16 usec +2%
100 x 100 19.7 usec 19.6 usec +1%
1000 x 100 47.6 usec 47.1 usec +1%
0 x 1000 125 usec 73.3 usec +71%
1 x 1000 98.2 usec 75.3 usec +30%
2 x 1000 126 usec 75.9 usec +66%
5 x 1000 113 usec 78.8 usec +43%
10 x 1000 124 usec 80.7 usec +54%
20 x 1000 137 usec 86.3 usec +59%
50 x 1000 173 usec 175 usec -1%
100 x 1000 256 usec 249 usec +3%
1000 x 1000 2.07 msec 2.05 msec +1%
0 x 10000 1.29 msec 769 usec -100%
1 x 10000 1.01 msec 792 usec -100%
2 x 10000 1.15 msec 802 usec -100%
5 x 10000 1.34 msec 834 usec -100%
10 x 10000 1.34 msec 887 usec -100%
20 x 10000 1.42 msec 996 usec -100%
50 x 10000 3.53 msec 3.57 msec -1%
100 x 10000 4.5 msec 4.51 msec -0%
1000 x 10000 21.5 msec 21.2 msec +1%
More information about the Python-bugs-list
mailing list