-
Notifications
You must be signed in to change notification settings - Fork 453
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The Teddy algorithm has been moved to the aho-corasick crate (as of 0.7.5), so we can now use it there. Note that we do explicitly use aho-corasick's `packed` module instead of relying on `AhoCorasick`'s prefilter to do it for us. The reasoning, unfortunately, is that using Teddy inside of `AhoCorasick` has some measurable overhead that we'd like to avoid. It would be better to figure out how to remove that overhead, but I was unsuccessful. It isn't much additional work to reach around and used the packed search directly. Benchmarks roughly stay the same, with the `regexdna::variant` benchmarks improving across the board by about 1.5x-2x. Some benchmarks do regress (e.g., `sherlock::the_nocase`), but we decide to live with it for now. The regression is likely due to subtle changes in Teddy's bucket allocation.
- Loading branch information
1 parent
fc3e6aa
commit 6b86983
Showing
12 changed files
with
29 additions
and
1,782 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.