hyperid-rs Rust

Superfast id generator

This is a porting of hyper written in javascript. Thanks to mcollina for that work

Install

Add the dependency to your Cargo.toml: toml [dependencies] hyperid = "1"

Usage

```rust use hyperid::HyperId;

fn main() { let mut hyperid = HyperId::default();

// `generate` method returns a new id every time
let id1 = hyperid.generate();
let id2 = hyperid.generate();

assert_ne!(id1, id2);

// `get` method returns the last generated id
let id3 = hyperid.get();

assert_eq!(id2, id3);

// Only if `url_safe` feature is enabled
println!("{}", id1.to_url_safe()); // prints "3ZAYYJilG7vHTqiUuaQdFg.0"

} ```

Benchmark

This crate borns for providing a fast id generator. Comparing with uuid crates, on my computer:

$ cargo bench ... test hyperid ... bench: 9 ns/iter (+/- 1) test uuid ... bench: 1,657 ns/iter (+/- 148) ...

Features

This crate has a feature url_safe that adds to_url_safe and from_url_safe methods.

Prepare for release

```sh cargo release -vv --skip-publish

wait for CI

git checkout cargo publish ```

License

See LICENSE file