This crate is the most efficient implementation of ai/nanoid.
https://crates.io/rs-nanoid
Features of the Nano ID spec are:
Features of this specific implementation are:
nanoid::standard
and nanoid::standard_unsecure
).Docs and examples at https://docs.rs/rs-nanoid.
Add to Cargo.toml
under [dependencies]
.
rs-nanoid = "0.1.0"
If 1,000,000 Nano IDs of length 21 (a.k.a.
nanoid::standard::<21>
) were generated each second, ~41 thousand years would be required in order to have a 1.0% probability of a collision.
Comparison of Nano ID and UUID (V4).
Tests are inside of lib.rs
and benchmarks are in the benches
folder.
These are benchmarks of nanoid::standard::<length>()
.
| OS | ARCH | CPU | | ---------- | ----- | ---------------------- | | Windows 10 | amd64 | Core i7-7500U @ 2.7GHz |
| length | sample pool | graph (sample of 100 from pool) |
|:------ |:------------ | --------------------------------- |
| 8 | ~254,200,000 | |
| 21 | ~124,000,000 |
|
| 36 | ~86,300,000 |
|
| 255 | ~18,200,000 |
|