snowflake-rs

Rust version of the Twitter snowflake algorithm .

A crate for quick generating distributed-ids.

API Docs: https://docs.rs/rs-snowflake

Usage

Add this to your Cargo.toml:

toml [dependencies] rs-snowflake = "*"

Getting Started

rust use snowflake::SnowflakeIdGenerator; fn main() { let mut id_generator_generator = SnowflakeIdGenerator::new(1, 1); let id = id_generator_generator.real_time_generate(); }

rust use snowflake::SnowflakeIdBucket; fn main() { let mut id_generator_bucket = SnowflakeIdBucket::new(1, 1); let id = id_generator_bucket.get_id(); }

``` test benchgenerategetidby_bucket ... bench: 5 ns/iter (+/- 0)

test benchgenerategetidbygeneratorgeneral_version ... bench: 232 ns/iter (+/- 32)

test benchgenerategetidbygeneratorlazy_version ... bench: 2 ns/iter (+/- 0)

test benchgenerategetidbygeneratorrealtimeversion ... bench: 249 ns/iter (+/- 22)

test benchgenerateidsbybucket ... bench: 13,077 ns/iter (+/- 1,263)

```

License

Licensed under

Contribution

Thank you all very much for your contributions to the project, and if there is anything I can do to help, I would love to help!