[issue34637] Make *start* usable as a keyword argument for sum().

Karthikeyan Singaravelan report at bugs.python.org
Wed Sep 12 01:59:58 EDT 2018


Karthikeyan Singaravelan <tir.karthi at gmail.com> added the comment:

There doesn't seem to be any performance regression hoping that I am doing the benchmarks correctly. Some numbers for the PR.

# Master

git checkout master
git clean -xdf && ./configure && make -s -j4

$ cpython git:(master) ./python.exe
Python 3.8.0a0 (heads/master:731ff68eee, Sep 12 2018, 11:19:46)
[Clang 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

$ cpython git:(master) repeat 10 ./python.exe -m timeit "sum(range(10), 50)"
500000 loops, best of 5: 635 nsec per loop
500000 loops, best of 5: 682 nsec per loop
500000 loops, best of 5: 637 nsec per loop
500000 loops, best of 5: 648 nsec per loop
500000 loops, best of 5: 618 nsec per loop
500000 loops, best of 5: 621 nsec per loop
500000 loops, best of 5: 653 nsec per loop
500000 loops, best of 5: 624 nsec per loop
500000 loops, best of 5: 671 nsec per loop
500000 loops, best of 5: 659 nsec per loop

git fetch upstream pull/9208/head:sum-start-keyword
git checkout sum-start-keyword
git clean -xdf && ./configure && make -s -j4

$ cpython git:(sum-start-keyword) ./python.exe
Python 3.8.0a0 (heads/sum-start-keyword:71b890cd56, Sep 12 2018, 11:23:02)
[Clang 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

$ cpython git:(sum-start-keyword) repeat 10 ./python.exe -m timeit "sum(range(10), 50)"
500000 loops, best of 5: 655 nsec per loop
500000 loops, best of 5: 662 nsec per loop
500000 loops, best of 5: 669 nsec per loop
500000 loops, best of 5: 656 nsec per loop
500000 loops, best of 5: 666 nsec per loop
500000 loops, best of 5: 642 nsec per loop
500000 loops, best of 5: 638 nsec per loop
500000 loops, best of 5: 628 nsec per loop
500000 loops, best of 5: 684 nsec per loop
500000 loops, best of 5: 648 nsec per loop

$ cpython git:(sum-start-keyword) repeat 10 ./python.exe -m timeit "sum(range(10), start=50)"
500000 loops, best of 5: 637 nsec per loop
500000 loops, best of 5: 677 nsec per loop
500000 loops, best of 5: 649 nsec per loop
500000 loops, best of 5: 660 nsec per loop
500000 loops, best of 5: 692 nsec per loop
500000 loops, best of 5: 704 nsec per loop
500000 loops, best of 5: 638 nsec per loop
500000 loops, best of 5: 659 nsec per loop
500000 loops, best of 5: 637 nsec per loop
500000 loops, best of 5: 699 nsec per loop

I haven't tested the other PR serhiy mentioned since it has merge conflicts and I think it uses the same approach with argument clinic.


Thanks

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue34637>
_______________________________________


More information about the Python-bugs-list mailing list