3 个不稳定版本

0.2.1 2019 年 2 月 14 日
0.2.0 2019 年 2 月 12 日
0.1.0 2019 年 2 月 6 日

#uuid 中排名 128

每月下载量 25

MIT 许可证 MIT

39KB
849

CircleCI Latest Version Minimum rustc version

yauuid

yauuid crate 基于 RFC 4122 和 DCE 1.1: 身份验证和安全服务生成和解析 UUID。

文档

用法

将其添加到您的 Cargo.toml

[denpendencies]
yauuid = "0.2"

并将其添加到您的 crate 根目录

extern crate yauuid;

示例

解析简单的 UUID,然后打印版本和变体

extern crate yauuid;

use yauuid::Uuid;
use std::str::FromStr;

fn main() {
    let u = Uuid::from_str("urn:uuid:123e4567-e89b-12d3-a456-426655440000").unwrap();
    println!("version = {}, variant = {}", u.version(), u.variant());
}

该库支持 5 种 UUID 版本

名称 版本
Mac 版本 1:MAC 地址
Dce 版本 2:DCE 安全
Md5 版本 3:Md5 哈希
随机 版本 4:随机
Sha1 版本 5:Sha1 哈希

基准测试

越低越好。

基准测试 uuid-rs (ns) yauuid (ns)
parse_str 70.240 33.176
to_string 107.48 75.387
new_v1 6.1016 6.1530
new_v3 211.16 174.33
new_v4 29.946 30.557
new_v5 209.24 212.94

parse_str 基准测试是 2 倍,to_string 是 1.5 倍。

new_v1 成本相似,但 yauuid 的版本易于使用。不需要时间参数。它已包含在 yauuid::Context 结构体中。

new_v3new_v4new_v5 基准测试比较了 md5RNGsha1 性能。

运行 cargo bench 获取基准测试结果。

有关基准测试用例的详细信息,请参阅 benches/bench.rs

参考

依赖关系

~1.5MB
~22K SLoC