ucd-generate
rust-fnv
ucd-generate | rust-fnv | |
---|---|---|
3 | 2 | |
90 | 325 | |
- | 1.2% | |
6.6 | 5.1 | |
4 months ago | about 2 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.
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.
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.
What are some alternatives?
ripgrep-all - rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.
getopt - POSIX getopt() as a portable header library
itoa - Fast function for printing integer primitives to a decimal string
optparse - Portable, reentrant, getopt-like option parser
unicode-xid
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
character - tool for character manipulations
fst - Represent large sets and maps compactly with finite state transducers.
perl5 - 🐪 The Perl programming language
nixpkgs - Nix Packages collection & NixOS