8000 Delay computation of numeric_range len until needed by eltoder · Pull Request #674 · more-itertools/more-itertools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Delay computation of numeric_range len until needed #674

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

eltoder
Copy link
Contributor
@eltoder eltoder commented Feb 18, 2023

Fixes #673

@eltoder eltoder force-pushed the feature/numeric-range-calc-len branch from 30e58f4 to 12ebd73 Compare February 20, 2023 02:50
Copy link
Collaborator
@bbayles bbayles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per the issue discussion, the changes requested are:

  • Remove the cached_property implementation
  • Wait until 3.7 goes EOL

Many thanks

@eltoder
Copy link
Contributor Author
eltoder commented Feb 27, 2023

Will do.

Instead of always computing it in `__init__` delay computation until it
is used. For simple iteration over the range, we can avoid computing it.
@eltoder eltoder force-pushed the feature/numeric-range-calc-len branch from 12ebd73 to a67c030 Compare July 21, 2023 23:23
@eltoder eltoder requested a review from bbayles July 21, 2023 23:23
@eltoder
Copy link
Contributor Author
eltoder commented Jul 21, 2023

@bbayles Did my part.

@bbayles bbayles merged commit 8ed237d into more-itertools:master Jul 24, 2023
lengau referenced this pull request in canonical/charmcraft Jul 25, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [more-itertools](https://togithub.com/more-itertools/more-itertools) |
`==9.1.0` -> `==10.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/more-itertools/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/more-itertools/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/more-itertools/9.1.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/more-itertools/9.1.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

&
8000
lt;details>
<summary>more-itertools/more-itertools (more-itertools)</summary>

###
[`v10.0.0`](https://togithub.com/more-itertools/more-itertools/releases/tag/v10.0.0):
Version 10.0.0

[Compare
Source](https://togithub.com/more-itertools/more-itertools/compare/v9.1.0...v10.0.0)

##### What's Changed

- Update recipes.iter_index to match CPython PR 102360 by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/690](https://togithub.com/more-itertools/more-itertools/pull/690)
- fixup - add missing commas to the readme function table by
[@&#8203;lonnen](https://togithub.com/lonnen) in
[https://github.com/more-itertools/more-itertools/pull/692](https://togithub.com/more-itertools/more-itertools/pull/692)
- fixup remove 3.6 from tox by
[@&#8203;lonnen](https://togithub.com/lonnen) in
[https://github.com/more-itertools/more-itertools/pull/693](https://togithub.com/more-itertools/more-itertools/pull/693)
- seekable: Add relative_seek by
[@&#8203;karlb](https://togithub.com/karlb) in
[https://github.com/more-itertools/more-itertools/pull/694](https://togithub.com/more-itertools/more-itertools/pull/694)
- Optimize \_chunked_even_finite() by
[@&#8203;elliotwutingfeng](https://togithub.com/elliotwutingfeng) in
[https://github.com/more-itertools/more-itertools/pull/699](https://togithub.com/more-itertools/more-itertools/pull/699)
- Indexing of combinations with replacement by
[@&#8203;Schoyen](https://togithub.com/Schoyen) in
[https://github.com/more-itertools/more-itertools/pull/689](https://togithub.com/more-itertools/more-itertools/pull/689)
- Add notes for transposing empty inputs by
[@&#8203;XuehaiPan](https://togithub.com/XuehaiPan) in
[https://github.com/more-itertools/more-itertools/pull/700](https://togithub.com/more-itertools/more-itertools/pull/700)
- Add the polynomial_eval recipe by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/703](https://togithub.com/more-itertools/more-itertools/pull/703)
- Add nth_combination_with_replacement by
[@&#8203;Schoyen](https://togithub.com/Schoyen) in
[https://github.com/more-itertools/more-itertools/pull/704](https://togithub.com/more-itertools/more-itertools/pull/704)
- Add sum_of_squares, sync with itertools by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/706](https://togithub.com/more-itertools/more-itertools/pull/706)
- Issue
[#&#8203;707](https://togithub.com/more-itertools/more-itertools/issues/707):
fix `iterate()` to enable `func` to raise StopIteration + 3 unittests by
[@&#8203;jrebiffe](https://togithub.com/jrebiffe) in
[https://github.com/more-itertools/more-itertools/pull/708](https://togithub.com/more-itertools/more-itertools/pull/708)
- Update polynomial_from roots and convolve by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/709](https://togithub.com/more-itertools/more-itertools/pull/709)
- Issue
[#&#8203;677](https://togithub.com/more-itertools/more-itertools/issues/677):
Improve `partition` by [@&#8203;pochmann](https://togithub.com/pochmann)
in
[https://github.com/more-itertools/more-itertools/pull/710](https://togithub.com/more-itertools/more-itertools/pull/710)
- Issue
[#&#8203;713](https://togithub.com/more-itertools/more-itertools/issues/713):
Fix `partial_product` (also simplify and clean up) by
[@&#8203;pochmann](https://togithub.com/pochmann) in
[https://github.com/more-itertools/more-itertools/pull/714](https://togithub.com/more-itertools/more-itertools/pull/714)
- Issue
[#&#8203;711](https://togithub.com/more-itertools/more-itertools/issues/711):
Optimize `pairwise` by [@&#8203;pochmann](https://togithub.com/pochmann)
in
[https://github.com/more-itertools/more-itertools/pull/712](https://togithub.com/more-itertools/more-itertools/pull/712)
- Issue
[#&#8203;715](https://togithub.com/more-itertools/more-itertools/issues/715):
Simplify/optimize `partial_product` by
[@&#8203;pochmann](https://togithub.com/pochmann) in
[https://github.com/more-itertools/more-itertools/pull/716](https://togithub.com/more-itertools/more-itertools/pull/716)
- Issue
[#&#8203;717](https://togithub.com/more-itertools/more-itertools/issues/717):
Improve `duplicates_justseen` by
[@&#8203;pochmann](https://togithub.com/pochmann) in
[https://github.com/more-itertools/more-itertools/pull/718](https://togithub.com/more-itertools/more-itertools/pull/718)
- Fix unique_in_window to match described behavior by
[@&#8203;elliotwutingfeng](https://togithub.com/elliotwutingfeng) in
[https://github.com/more-itertools/more-itertools/pull/720](https://togithub.com/more-itertools/more-itertools/pull/720)
- Add polynomial_derivative recipe by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/723](https://togithub.com/more-itertools/more-itertools/pull/723)
- Update recipes with CPython PRs: 105403 and 106371 by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/731](https://togithub.com/more-itertools/more-itertools/pull/731)
- Changes for version 10.0.0 by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/734](https://togithub.com/more-itertools/more-itertools/pull/734)
- Delay computation of numeric_range len until needed by
[@&#8203;eltoder](https://togithub.com/eltoder) in
[https://github.com/more-itertools/more-itertools/pull/674](https://togithub.com/more-itertools/more-itertools/pull/674)

##### New Contributors

- [@&#8203;karlb](https://togithub.com/karlb) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/694](https://togithub.com/more-itertools/more-itertools/pull/694)
- [@&#8203;elliotwutingfeng](https://togithub.com/elliotwutingfeng) made
their first contribution in
[https://github.com/more-itertools/more-itertools/pull/699](https://togithub.com/more-itertools/more-itertools/pull/699)
- [@&#8203;Schoyen](https://togithub.com/Schoyen) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/689](https://togithub.com/more-itertools/more-itertools/pull/689)
- [@&#8203;XuehaiPan](https://togithub.com/XuehaiPan) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/700](https://togithub.com/more-itertools/more-itertools/pull/700)
- [@&#8203;jrebiffe](https://togithub.com/jrebiffe) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/708](https://togithub.com/more-itertools/more-itertools/pull/708)
- [@&#8203;pochmann](https://togithub.com/pochmann) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/710](https://togithub.com/more-itertools/more-itertools/pull/710)
- [@&#8203;eltoder](https://togithub.com/eltoder) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/674](https://togithub.com/more-itertools/more-itertools/pull/674)

**Full Changelog**:
more-itertools/more-itertools@v9.1.1...v10.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC,
Automerge - "before 07:00" in timezone Etc/UTC.

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/canonical/charmcraft).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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.

Optimization: delay computing len of numeric_range until needed
2 participants
0