unicode-xid
By unicode-rs
rust-fnv
Fowler–Noll–Vo hash function (by servo)
unicode-xid | rust-fnv | |
---|---|---|
1 | 2 | |
42 | 325 | |
- | 1.2% | |
5.5 | 5.1 | |
3 months ago | about 1 month ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
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.
unicode-xid
Posts with mentions or reviews of unicode-xid.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-01-13.
-
Debian discusses vendoring again
Another is unicode-xid. The entire package is literally a constant lookup table. Again, I've embedded Unicode tables in my own programs a number of time. The original tables are machine-readable, and transforming them into code is so simple I usually don't even bother writing a script to do it, just an on-the-fly editor macro.
rust-fnv
Posts with mentions or reviews of rust-fnv.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-08-01.
-
How to write slow Rust code. My battle to beat Common Lisp and Java on a phone number encoding problem.
Use faster hashing function (e.g. fnv, there are other potentially faster options as well). By default Rust std uses a DoS-resistant function, which is relatively slow.
-
Debian discusses vendoring again
Looking at ripgrep myself, I'm seeing some trivial dependencies. One is fnv. Perhaps you're not aware, but FNV-1a is literally ~4 lines of code. It's about as sophisticated as left-pad. I've written it from scratch a dozen times off the top of my head (the official offset basis and prime are really not special, so you can just generate your own). It would take you about a minute to eliminate it.
What are some alternatives?
When comparing unicode-xid and rust-fnv you can also consider the following projects:
rust-base64 - base64, in rust
getopt - POSIX getopt() as a portable header library
perl5 - 🐪 The Perl programming language
optparse - Portable, reentrant, getopt-like option parser
itoa - Fast integer to ascii / integer to string conversion
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
itoa - Fast function for printing integer primitives to a decimal string
fst - Represent large sets and maps compactly with finite state transducers.
ucd-generate - A command line tool to generate Unicode tables as source code.
nixpkgs - Nix Packages collection & NixOS