快速的 .NET C# 实现了适用于 .NET 和 Unity 的 ULID。
快速的 C# 实现 ULID 适用于 .NET Core 和 Unity。ULID 是一个可排序的随机 ID 生成器。本项目旨在通过最快的二进制序列化器 MessagePack-CSharp 技术实现性能。它的生成速度比 Guid.NewGuid 更快。 NuGet: Ulid 或从 Ulid/Releases 页面下载 .unitypackage。
Install-Package Ulid与 Guid 类似的 API。
Ulid.NewUlid()Ulid.Parse()Ulid.TryParse()new Ulid().ToString().ToByteArray().TryWriteBytes().TryWriteStringify().ToBase64().Time.Random
允许转换 GUID。.ToGuid()(Guid)ulid
性能Guid 是标准的 corelib guid。Ulid 是此库。NUlid 是竞争对手 RobThree/NUlid。
| 方法 | 平均时间 | 错误 | 比率 | 0/1k 次操作 | 1/1k 次操作 | 2/1k 次操作 | 分配的内存/次操作 |
|---|---|---|---|---|---|---|---|
| Guid_ | 73.13 ns | NA | 1.00 | - | - | - | - |
| Ulid_ | 65.41 ns | NA | 0.89 | - | - | - | - |
| NUlid_ | 209.89 ns | NA | 2.87 | 0.0162 | - | - | 104 B |
Ulid.NewUlid() 速度比 Guid.NewGuid() 快,且无分配。
| 方法 | 平均值 | 错误 | 比率 | 0/1k 次操作 | 1/1k 次操作 | 2/1k 次操作 | 分配的内存/次操作 |
|---|---|---|---|---|---|---|---|
| Guid_ | 197.98 ns | NA | 1.00 | - | - | - | - |
| Ulid_ | 28.67 ns | NA | 0.14 | - | - | - | - |
| NUlid_ | 161.03 ns | NA | 0.81 | 0.0441 | - | - | - |
暂无开放 Issues,或尚未同步最近议题。