Skip to content

bpo-41902: Micro optimization for compute_item of range#22492

Merged
methane merged 2 commits intopython:masterfrom
corona10:bpo-41902-compute
Oct 21, 2020
Merged

bpo-41902: Micro optimization for compute_item of range#22492
methane merged 2 commits intopython:masterfrom
corona10:bpo-41902-compute

Conversation

@corona10
Copy link
Member

@corona10 corona10 commented Oct 2, 2020

@corona10
Copy link
Member Author

corona10 commented Oct 2, 2020

We can optimize PyNumber_Multiply but that task should be done after #22480 is well discussed.

@corona10
Copy link
Member Author

corona10 commented Oct 2, 2020

import pyperf

runner = pyperf.Runner()
runner.timeit(name="bench range compute",
              stmt="""
v = a[100:200]
vs = a[s]
""",
setup= """
a = range(0, 11111111)
s = slice(100, 200)
""")

Mean +- std dev: [master-compute] 317 ns +- 3 ns -> [bpo-41902-compute] 287 ns +- 6 ns: 1.11x faster (-10%)

Co-authored-by: Victor Stinner <vstinner@python.org>
@corona10 corona10 requested a review from vstinner October 2, 2020 13:38
@methane methane merged commit 25492a5 into python:master Oct 21, 2020
@corona10 corona10 deleted the bpo-41902-compute branch October 21, 2020 02:30
adorilson pushed a commit to adorilson/cpython that referenced this pull request Mar 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants