5 个版本
0.3.5 | 2024年3月13日 |
---|---|
0.3.4 | 2024年3月13日 |
0.2.7 |
|
0.1.5 |
|
1082 在 编码
1,332 每月下载量
49KB
1.5K SLoC
Naumi
轻量级且快速的数据传输协议。快速编/解码,体积小巧!
📌 为什么选择Naumi?
Naumi是一种创新的数据格式,旨在成为JSON和ProtoBuf的完整替代品,同时提供更高的效率和灵活性。它旨在满足现代数据处理需求,提供紧凑的序列化、改进的读写速度,以及对复杂数据结构和类型的支持,使其成为从webAPIs到实时消息和配置文件的广泛应用的理想选择。
🚀 性能基准
基准测试来源: 基准测试
编码 | 解码 | 大小 | |
---|---|---|---|
Naumi | 6.4 ms | 6.8 ms | 15002002 |
Alkahest | 24.3 ms | 22.7 ms | 15008008 |
Pot | 72.64 ms | 187.9 ms | 23994125 |
Cbor | 40.8 ms | 115.2 ms | 31904769 |
SimdJson | 107.6 ms | 466.3 ms | 62543210 |
📝 待办事项(在1.0.0版本之前)
- 使用示例描述函数。
- 使用zstd进行数据压缩。
- 更多基准测试。
- 更多示例。
- 更多速度和优化!
- 迭代器和自定义类型的大幅加速。
- 数字解码的大幅加速。
- 在 问题页面 上告诉我。
- 支持更多数据类型
- 在 问题页面 上告诉我。
📦 当前支持的数据类型
数字: u8, u16, u32, u64, usize, u128, f32, f64, VarInt // 和有符号
字符串: String(VarInt), TinyString(u8), ShortString(u16), MediumString(u32), LongString(u64)
迭代器: Vec(VarInt), TinyVec(u8), ShortVec(u16), MediumVec(u32), LongVec(u64), HashSet(VarInt), HashMap(VarInt)
自定义: Structs(Named/Unnamed), Enums, Option, Tuple
🔧 安装
- 标准
naumi = "0.3"
- 所有
naumi = { version = "0.3", features = ["net", "net_async", "default_", "clone", "debug", "partial_eq"] }
✊ 示例
在GitHub上查看 - 示例
📋 更新日志
0.3.5
- net_async中的修正0.3.4
- HashMap中的修正0.3.3
- 新类型和错误修复0.3.2
- usize 和 isize 现在总是 64 位。0.3.1
- 将示例从 Readme 中移动。0.3.0
- 易用性和一些错误修复。 已移除 Coder。0.2.5 - 0.2.7
- 错误修复和一些更改。0.2.4
- 添加基准测试。0.2.3
- 加速数字解码。0.2.2
- 错误修复0.2.1
- 使用示例描述函数。0.2.0
- 大幅加速迭代器和自定义结构,错误修复。0.1.0 - 0.1.5
- 错误修复
🤝 贡献
欢迎贡献、问题和功能请求!请随意查看 问题页面。
❤️ 表达你的支持
如果这个项目帮到了你,请给一个 ⭐️!
📝 许可证
依赖项
~1.3–3.5MB
~69K SLoC