Crates.io | rs-snowflake |
lib.rs | rs-snowflake |
version | 0.6.0 |
source | src |
created_at | 2020-08-10 13:37:33.169696 |
updated_at | 2022-03-14 12:51:28.497567 |
description | Rust version of the Twitter snowflake algorithm. |
homepage | |
repository | https://github.com/BinChengZhao/snowflake-rs.git |
max_upload_size | |
id | 275043 |
size | 15,476 |
Rust version of the Twitter snowflake algorithm
.
A crate for quick generating distributed-ids.
API Docs: https://docs.rs/rs-snowflake
Add this to your Cargo.toml:
[dependencies]
rs-snowflake = "*"
use snowflake::SnowflakeIdGenerator;
fn main() {
let mut id_generator_generator = SnowflakeIdGenerator::new(1, 1);
let id = id_generator_generator.real_time_generate();
}
use snowflake::SnowflakeIdBucket;
fn main() {
let mut id_generator_bucket = SnowflakeIdBucket::new(1, 1);
let id = id_generator_bucket.get_id();
}
test bench_generate_get_id_by_bucket ... bench: 5 ns/iter (+/- 0)
test bench_generate_get_id_by_generator_general_version ... bench: 232 ns/iter (+/- 32)
test bench_generate_get_id_by_generator_lazy_version ... bench: 2 ns/iter (+/- 0)
test bench_generate_get_id_by_generator_real_time_version ... bench: 249 ns/iter (+/- 22)
test bench_generate_ids_by_bucket ... bench: 13,077 ns/iter (+/- 1,263)
Licensed under
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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!