rust-fnv
ucd-generate
rust-fnv | ucd-generate | |
---|---|---|
2 | 3 | |
325 | 90 | |
1.2% | - | |
5.1 | 6.6 | |
about 1 month ago | 4 months ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
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.
rust-fnv
-
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.
ucd-generate
-
Using unwrap() in Rust is Okay
So you're saying that the 'expect()' message when a regex compilation error occurs should be a translation from a terse domain specific language to bloviating prose? :-)
What 'expect()' message would you write for this regex? https://github.com/BurntSushi/ucd-generate/blob/6d3aae3b8005...
I think 'unwrap()' there is perfectly appropriate.
> I think it'd be desirable to have a `.unwrap_with_context("Context: {}")`, and the you'd get `Context: Inner Panic Info`.
Why?
-
Debian discusses vendoring again
I've also embedded Unicode tables a number of times. It's very easy to do, and I do it enough that I even have a tool to do it. Having tooling and scripts to do it is important for reasons of provenance and also for when the tables need to be updated (every year or so).
-
Announcing chr 1.0.0: A command-line tool that gives information about Unicode characters
ucd-generate for generating Unicode tables. It is what the regex crate uses to generate all of its tables, and it supports many properties already. It also provides a way to represent Unicode character names in a compressed data structure.
What are some alternatives?
getopt - POSIX getopt() as a portable header library
ripgrep-all - rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.
optparse - Portable, reentrant, getopt-like option parser
itoa - Fast function for printing integer primitives to a decimal string
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
unicode-xid
fst - Represent large sets and maps compactly with finite state transducers.
character - tool for character manipulations
perl5 - 🐪 The Perl programming language
nixpkgs - Nix Packages collection & NixOS