sliceslice-rs VS regex-automata

Compare sliceslice-rs vs regex-automata and see what are their differences.

sliceslice-rs

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

regex-automata

A low level regular expression library that uses deterministic finite automata. (by BurntSushi)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
sliceslice-rs regex-automata
2 5
87 349
- -
5.9 0.0
3 months ago 10 months ago
Rust Rust
MIT License The Unlicense
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

sliceslice-rs

Posts with mentions or reviews of sliceslice-rs. 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
    7 projects | /r/rust | 3 May 2021
    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.

regex-automata

Posts with mentions or reviews of regex-automata. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-20.
  • regex 1.8.0 released (no-op escapes allowed, (?<name>re) syntax added)
    4 projects | /r/rust | 20 Apr 2023
    I believe you're the second person to tell me they were confused by this, so there are probably several others confused but didn't say anything. I've added a warning to the top of regex-automata's README.
  • After years of work and discussion, `once_cell` has been merged into `std` and stabilized
    6 projects | /r/rust | 30 Mar 2023
    For anyone following along at home, we're having a very helpful discussion about the implementation I posted in my sibling comment here: https://github.com/BurntSushi/regex-automata/issues/30
  • Pomsky 0.8 released: A powerful and modern regular expression language
    1 project | /r/rust | 22 Dec 2022
    My current technique only gets applied to alternations of simple literals. But the idea is generalizeable and I speculate that it is actually impactful to generalize it.
  • Rust: A Critical Retrospective
    19 projects | news.ycombinator.com | 19 May 2022
    (I could use '_ => {}' instead of 'None' to save a few more.)

    I do find the 'if let' variant to be a bit easier to read. It's optimizing for a particular and somewhat common case, so it does of course overlap with 'match'. But I don't find this particular overlap to be too bad. It's usually pretty clear when to use one vs the other.

    But like I said, I could live without 'if let'. It is not a major quality of life enhancement to me. Neither will its impending extensions. i.e., 'if let pattern = foo && some_booolean_condition {'.

    [1]: https://github.com/BurntSushi/regex-automata/blob/fbae906823...

    [2]: https://github.com/BurntSushi/regex-automata/blob/fbae906823...

  • Memchr 2.4 now has an implementation of substring search on arbitrary bytes
    7 projects | /r/rust | 3 May 2021
    (The work on regex-automata 0.2 has been underway for over a year now.](https://github.com/BurntSushi/regex-automata/tree/ag/work) There's a lot done, but still a lot more to go. Once that's done, regex proper should be pretty close to a thin layer that glues regex-syntax, regex-automata, memchr and aho-corasick together. I don't currently expect regex to grow any more dependencies than that. And as it is, aho-corasick and memchr are both optional dependencies. Right now, regex-syntax is the only required dependency, but regex-automata will be added to that list.

What are some alternatives?

When comparing sliceslice-rs and regex-automata you can also consider the following projects:

nsimd - Agenium Scale vectorization library for CPUs and GPUs

pomsky - A new, portable, regular expression language