3 个版本
使用旧的 Rust 2015
0.0.3 | 2017年2月7日 |
---|---|
0.0.2 | 2017年2月7日 |
0.0.1 | 2017年1月29日 |
#431 在 日期和时间
每月下载量 776
50KB
1K SLoC
Rust 库,用于处理 Temporenc 二进制日期/时间格式。
对于此实现,高性能是首要任务。它为每个时间类型(日期、日期和时间等)使用不同的结构体。这允许为每个类型手动调整序列化和反序列化逻辑。当然,除了测试代码之外,没有堆分配。
以下是一些来自 i7-6850K(3.6GHz 的 Broadwell-E 芯片)的性能示例。使用 100 批次,因为当单个操作仅需要几纳秒时,时间测量精度较差。
操作 | 数量 | 类型 | 时间 |
---|---|---|---|
反序列化 | 100 | 随机日期 | 665ns |
反序列化 | 100 | 随机日期 + 时间 | 985ns |
反序列化 | 100 | 随机日期 + 时间 + 偏移量 | 974ns |
反序列化 | 100 | 随机日期 + 时间 + 微秒 | 1300ns |
反序列化 | 100 | 随机日期 + 时间 + 微秒 + 偏移量 | 1473ns |
反序列化 | 100 | 随机时间 | 801ns |
序列化 | 100 | 随机日期 | 288ns |
序列化 | 100 | 随机日期 + 时间 | 435ns |
序列化 | 100 | 随机日期 + 时间 + 偏移量 | 492ns |
序列化 | 100 | 随机日期 + 时间 + 微秒 | 897ns |
序列化 | 100 | 随机日期 + 时间 + 微秒 + 偏移量 | 982ns |
序列化 | 100 | 随机时间 | 277ns |