Add SIMD accelerated multiple pattern search.#231
Conversation
|
Note that this PR is blocked on a new release of @killercup I may be able to carve out some interesting projects worth mentoring from this. I left quite a number of TODOs. Feel like learning SIMD? :-) |
|
Relevant benchmarks: |
|
Cool! Thank you for thinking of me! I'll have a look at this :) |
|
Fiddling with this a bit I noticed (aside from the stuff I did in #232) that there seems to be a genuine underflow exposed by the fowler::match_basic_81 test case: In Edit: I added a simple check to prevent the underflow in #232. |
|
@killercup Thanks! I've fixed that in this PR. (I didn't see your edit.) |
36faa2c to
6f2bb0f
Compare
This uses the "Teddy" algorithm, as learned from the Hyperscan regular expression library: https://01.org/hyperscan This support optional, subject to the following: 1. A nightly compiler. 2. Enabling the `simd-accel` feature. 3. Adding `RUSTFLAGS="-C target-feature=+ssse3"` when compiling.
|
@llogiq FYI, this PR impacts the |
This uses the "Teddy" algorithm, as learned from the Hyperscan regular
expression library.
This support is optional, subject to the following:
simd-accelfeature.RUSTFLAGS="-C target-feature=+ssse3"when compiling.