Improve performance of startswith, endswith, count, *find, and *index methods for str, bytes and bytearray
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 35.9k
- PR merge metrics
- PR metrics pending
Description
Feature or enhancement
Proposal:
We can improve performance of str.startswith and other methods for the single-argument case by creating a fast path in the single argument parsing.
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
https://github.com/faster-cpython/ideas/issues/671
Linked PRs
- gh-117432
- gh-117466
- gh-117468
- gh-117480
- gh-117495
- gh-117499
- gh-117502
- gh-117590
- gh-117591
- gh-117782
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the proposal and the linked PRs (gh-117432, gh-117466, gh-117468, gh-117480, gh-117495, gh-117499, gh-117502, gh-117590, gh-117591, and gh-117782) to understand the current implementation and avoid duplicating work. Done means the single-argument paths for the listed str, bytes, and bytearray methods show the intended performance improvement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100