8个版本 (重大变更)
0.8.0 | 2023年9月14日 |
---|---|
0.7.0 | 2023年5月17日 |
0.6.0 | 2023年2月10日 |
0.5.0 | 2022年12月9日 |
0.1.0 | 2022年8月30日 |
#1831 in 编码
65KB
1.5K SLoC
Azalea NBT
快速NBT序列化和反序列化器。
- 支持Gzip和Zlib压缩
- 所有数据都归用户所有,便于使用
- 使用
serde
功能支持Serde。
示例
use azalea_nbt::{Nbt, NbtCompound};
use std::io::Cursor;
let buf = include_bytes!("../tests/hello_world.nbt");
let tag = Nbt::read(&mut Cursor::new(&buf[..])).unwrap();
assert_eq!(
tag,
Nbt::Compound(NbtCompound::from_iter(vec![(
"hello world".into(),
Nbt::Compound(NbtCompound::from_iter(vec![(
"name".into(),
Nbt::String("Bananrama".into()),
)]))
)]))
);
基准测试
在撰写本文时,Azalea NBT是最快的NBT解码器(比第二快的Graphite NBT快约一倍)并且与最快的NBT编码器性能相当(有时甚至是最快的,取决于数据)。
您可以使用cargo bench --bench compare
来运行基准测试以与其他NBT库进行比较,以及使用cargo bench --bench nbt
进行正常基准测试。
注意:为了获得最佳性能,请使用RUSTFLAGS='-C target-cpu=native'
。
依赖项
~1.5–2.2MB
~44K SLoC