This is a Rust implementation of the ulid project which provides Universally Unique Lexicographically Sortable Identifiers.
// Generate a ulid
let ulid = Ulid::new();
// Generate a string for a ulid
let s = ulid.to_string();
// Create from a String
let res = Ulid::from_string(&s);
assert_eq!(ulid, res.unwrap());
Benchmarks were run on my laptop. Run them yourself with cargo bench
.
test bench_from_string ... bench: 41 ns/iter (+/- 16)
test bench_from_time ... bench: 24 ns/iter (+/- 6)
test bench_generator_generate ... bench: 61 ns/iter (+/- 12)
test bench_new ... bench: 73 ns/iter (+/- 17)
test bench_to_string ... bench: 89 ns/iter (+/- 11)