ashvardanian / ashvardanian/StringZilla
Feature: prebuilt finder pattern
- Dominant language
- C
- Stars
- 3.6k
- Forks
- 135
- PR merge metrics
- No merged PRs in 30d
Description
### Describe what you are looking for
The problem I am facing with stringzilla even though I like the approach is that every sz_find id doing to much of preparation work which make it very hard to optimize for the projects like file search where I need to apply the same needle to many files one by one
especially this function
https://github.com/dmtrKovalenko/StringZilla/blob/main/include/stringzilla/find.h#L360-L360
my proposal is to implement a finder api that is going to allocate all the preparation work once for the needle and then we can execute those per every haystack
### Can you contribute to the implementation?
- [x] I can contribute
### Is your feature request specific to a certain interface?
It applies to everything
### Contact Details
_No response_
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Research direction
Read include/stringzilla/find.h around the referenced line and trace how sz_find prepares a needle for each haystack. Define and validate a finder API that performs needle preparation once and can be reused across multiple haystacks, while preserving the existing search behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- performance, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100