Skip to content

Use "yield from" in merge_sorted#550

Merged
eriknw merged 1 commit into
pytoolz:masterfrom
groutr:yieldfrom
Oct 16, 2025
Merged

Use "yield from" in merge_sorted#550
eriknw merged 1 commit into
pytoolz:masterfrom
groutr:yieldfrom

Conversation

@groutr
Copy link
Copy Markdown
Contributor

@groutr groutr commented Sep 14, 2022

Convert these loops:

for item in seq:
    yield item

To the more modern and slightly more efficient

yield from seq

A quick benchmark (a is a list of 30 sorted lists of 60 random integers)

# old
In [8]: %timeit list(merge_sorted(*a))
815 µs ± 31.3 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)

# new
In [7]: %timeit list(merge_sorted(*a))
766 µs ± 26.2 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)

@eriknw
Copy link
Copy Markdown
Member

eriknw commented Oct 16, 2025

This is a good idea, thanks @groutr! Sorry the review took so long; this really is a "no brainer" to get in 👍

@eriknw eriknw merged commit 5eee30e into pytoolz:master Oct 16, 2025
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.

2 participants