A fast implementation of single-pattern substring search using SIMD acceleration. (by cloudflare)


Basic sliceslice-rs repo stats
about 1 month ago

cloudflare/sliceslice-rs is an open source project licensed under MIT License which is an OSI approved license.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives

Sliceslice-rs Alternatives

Similar projects and alternatives to sliceslice-rs based on common topics and language

  • GitHub repo rust-memchr

    Optimized string search routines for Rust.

  • GitHub repo ripgrep

    ripgrep recursively searches directories for a regex pattern while respecting your gitignore

  • GitHub repo regex

    An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.

  • GitHub repo regex-automata

    A low level regular expression library that uses deterministic finite automata.

  • GitHub repo Vc

    SIMD Vector Classes for C++

  • GitHub repo highway

    Performance-portable, length-agnostic SIMD with runtime dispatch

  • GitHub repo nsimd

    Agenium Scale vectorization library for CPUs and GPUs

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better sliceslice-rs alternative or higher similarity.


Posts where sliceslice-rs has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-05-03.
  • Memchr 2.4 now has an implementation of substring search on arbitrary bytes | 2021-05-03
    Aside from that, their SIMD implementation is better optimized than the one I wrote. Aside from the codegen problem I talked about on that PR, sliceslice does better with its confirmation step by specializing calls to memcmp for all needles up to length 16. This repeats the entire implementation 16 times or so (for each of SSE2 and AVX2, so 32 in total I believe), but lets the memcmp call be a bit better than a generic one. We could do the same in memchr, but I wanted to see how much mileage we could get with fewer copies of the code and a lower latency implementation of memcmp. | 2021-05-03
    Note the discussion here though: