Structs§
- Pre πA combination of prefilter effectiveness state and the prefilter itself.
- Prefilter πThe implementation of a prefilter.
- PrefilterState πPrefilterState tracks state associated with the effectiveness of a prefilter. It is used to track how many bytes, on average, are skipped by the prefilter. If this average dips below a certain threshold over time, then the state renders the prefilter inert and stops using it.
- Searcher πA βmetaβ substring searcher.
- SearcherRev πA reverse substring searcher.
- TwoWayWithPrefilter πA two-way substring searcher with a prefilter.
Enums§
- Prefilter controls whether heuristics are used to accelerate searching.
- SearcherRevKind πThe kind of the reverse searcher.
Functions§
- do_packed_search πReturns true if the needle has the right characteristics for a vector algorithm to handle the entirety of substring search.
- prefilter_kind_avx2 π βReads from the
avx2
field ofPrefilterKind
to execute the x86_64 AVX2 prefilter. - prefilter_kind_fallback π βReads from the
fallback
field ofPrefilterKind
to execute the fallback prefilter. Works on all platforms. - prefilter_kind_sse2 π βReads from the
sse2
field ofPrefilterKind
to execute the x86_64 SSE2 prefilter. - searcher_kind_avx2 π βReads from the
avx2
field ofSearcherKind
to execute the x86_64 AVX2 vectorized substring search implementation. - searcher_kind_empty π βReads from the
empty
field ofSearcherKind
to handle the case of searching for the empty needle. Works on all platforms. - searcher_kind_one_byte π βReads from the
one_byte
field ofSearcherKind
to handle the case of searching for a single byte needle. Works on all platforms. - searcher_kind_sse2 π βReads from the
sse2
field ofSearcherKind
to execute the x86_64 SSE2 vectorized substring search implementation. - searcher_kind_two_way π βReads from the
two_way
field ofSearcherKind
to handle the case of searching for an arbitrary needle without prefilter acceleration. Works on all platforms. - Reads from the
two_way_with_prefilter
field ofSearcherKind
to handle the case of searching for an arbitrary needle with prefilter acceleration. Works on all platforms.
Type Aliases§
- PrefilterKindFn πThe type of a prefilter function.
- SearcherKindFn πThe type of a substring search function.
Unions§
- PrefilterKind πA union indicating one of several possible prefilters that are in active use.
- SearcherKind πA union indicating one of several possible substring search implementations that are in active use.