redgrep
ixy
redgrep | ixy | |
---|---|---|
4 | 2 | |
150 | 1,122 | |
0.7% | - | |
5.8 | 0.0 | |
2 months ago | about 2 years ago | |
C++ | C | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
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.
redgrep
-
Show HN: Regex Derivatives (Brzozowski Derivatives)
I don't think Rust regex engine relies on this technique. I guess the main point is when you construct the DFA directly you still have the possibility of the exponential explosion of the number of states. That's why modern engines balance between NFA/DFA and lazy DFA.
Though there is an implementation that relies only on Brzozowski derivatives: https://github.com/google/redgrep
-
Introducing: Pomsky (formerly Rulex)
redgrep did it though: https://github.com/google/redgrep
- Redgrep – grep based on regex derivatives, matches in linear time
-
Speed of Rust vs. C
It couldn't figure it out from looking through ripgrep's website: does ripgrep support intersection and complement of expressions? Like eg https://github.com/google/redgrep does.
Regular languages are closed under those operations after all.
ixy
-
Ask HN: Good book to learn modern networking?
Once you're past the fundamentals, if find yourself interested in high-performance networking, I recommend looking into userspace networking and NIC device drivers. The Intel 82599ES has a freely available (and readable!) data sheet, DPDK has a great book, ixy [1] has a wonderful paper and repo. It's a great way to go beyond the basics of networking and CPU performance. It's even more approachable today with XDP – you don't need to write device-specific code.
[1] https://github.com/emmericp/ixy
-
Speed of Rust vs. C
https://github.com/emmericp/ixy/blob/0e00605be4153b06df06184...
Looks like you're compiling C code with -O2. Does Rust build set -O3 on clang? Did you try -O3 with C? I know it's not guaranteed to be faster, just curious.
What are some alternatives?
ixy-languages - A high-speed network driver written in C, Rust, C++, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python
smartstring - Compact inlined strings for Rust.
libskry_r - Lucky imaging library
barre - A Regular Expression Library and CFG parser for Rust using Brzozski Derivatives
mininet - Emulator for rapid prototyping of Software Defined Networks
fst - Represent large sets and maps compactly with finite state transducers.
linkify-it - Links recognition library with full unicode support
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
markdown-it - markdown-it js library rewritten in rust